내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

HttpException 클래스

HTTP 요청을 처리하는 동안 발생한 예외를 설명합니다.

네임스페이스:  System.Web
어셈블리:  System.Web(System.Web.dll)

[SerializableAttribute]
public class HttpException : ExternalException

HttpException 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드HttpException() HttpException 클래스의 새 인스턴스를 초기화하여 빈 HttpException 개체를 만듭니다.
Public 메서드HttpException(String)제공된 오류 메시지를 사용하여 HttpException 클래스의 새 인스턴스를 초기화합니다.
Public 메서드HttpException(Int32, String)HTTP 응답 상태 코드 및 오류 메시지를 사용하여 HttpException 클래스의 새 인스턴스를 초기화합니다.
Protected 메서드HttpException(SerializationInfo, StreamingContext)serialize된 데이터를 사용하여 HttpException 클래스의 새 인스턴스를 초기화합니다.
Public 메서드HttpException(String, Exception)오류 메시지와 InnerException 속성을 사용하여 HttpException 클래스의 새 인스턴스를 초기화합니다.
Public 메서드HttpException(String, Int32)오류 메시지와 예외 코드를 사용하여 HttpException 클래스의 새 인스턴스를 초기화합니다.
Public 메서드HttpException(Int32, String, Exception)HTTP 응답 상태 코드, 오류 메시지 및 InnerException 속성을 사용하여 HttpException 클래스의 새 인스턴스를 초기화합니다.
Public 메서드HttpException(Int32, String, Int32)HTTP 응답 상태 코드, 오류 메시지 및 예외 코드를 사용하여 HttpException 클래스의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성Data예외에 대한 사용자 정의 추가 정보를 제공하는 키/값 쌍의 컬렉션을 가져옵니다. (Exception에서 상속됨)
Public 속성ErrorCode오류의 HRESULT를 가져옵니다. (ExternalException에서 상속됨)
Public 속성HelpLink이 예외와 관련된 도움말 파일에 대한 링크를 가져오거나 설정합니다. (Exception에서 상속됨)
Public 속성HResult특정 예외에 할당된 코드화된 숫자 값인 HRESULT를 가져오거나 설정합니다. (Exception에서 상속됨)
Public 속성InnerException현재 예외를 발생시킨 Exception 인스턴스를 가져옵니다. (Exception에서 상속됨)
Public 속성Message현재 예외를 설명하는 메시지를 가져옵니다. (Exception에서 상속됨)
Public 속성Source오류를 발생시키는 응용 프로그램 또는 개체의 이름을 가져오거나 설정합니다. (Exception에서 상속됨)
Public 속성StackTrace호출 스택의 직접 실행 프레임에 대한 문자열 표현을 가져옵니다. (Exception에서 상속됨)
Public 속성TargetSite현재 예외를 throw하는 메서드를 가져옵니다. (Exception에서 상속됨)
Public 속성WebEventCodeHTTP 예외와 연결된 이벤트 코드를 가져옵니다.
위쪽

  이름설명
Public 메서드정적 멤버CreateFromLastErrorWin32 API GetLastError() 메서드에서 반환되는 오류 코드를 기반으로 하는 새 HttpException 예외를 만듭니다.
Public 메서드Equals(Object) 지정한 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize 개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetBaseException파생 클래스에서 재정의되었을 때, 하나 이상의 후속 예외의 근본 원인이 되는 Exception을 반환합니다. (Exception에서 상속됨)
Public 메서드GetHashCode기본 해시 함수로 작동합니다. (Object에서 상속됨)
Public 메서드GetHtmlErrorMessageHTML 오류 메시지를 가져와 클라이언트에게 반환합니다.
Public 메서드GetHttpCodeHTTP 상태 응답 코드를 가져와 클라이언트에게 반환합니다.
Public 메서드GetObjectData예외에 대한 정보를 가져와 SerializationInfo 개체에 추가합니다. (Exception.GetObjectData(SerializationInfo, StreamingContext)을(를) 재정의함)
Public 메서드GetType현재 인스턴스의 런타임 형식을 가져옵니다. (Exception에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드ToString오류의 HRESULT가 들어 있는 문자열을 반환합니다. (ExternalException에서 상속됨)
위쪽

  이름설명
Protected 이벤트SerializeObjectState예외에 대한 serialize된 데이터가 들어 있는 예외 상태 개체가 만들어지도록 예외가 serialize될 때 발생합니다. (Exception에서 상속됨)
위쪽

HttpException 클래스는 ASP.NET에서 예외 정보를 생성할 수 있도록 하는 HTTP 특정 예외 클래스입니다. 예외를 throw 및 처리하는 방법에 대한 자세한 내용은 예외 처리 및 Throw를 참조하십시오.

다음 코드 예제에서는 HttpException 클래스를 사용하여 사용자 지정 예외를 발생시키는 방법을 보여 줍니다. Button_Click 메서드에서는 클릭한 단추를 확인한 다음 CheckNumberCheckBoolean 메서드를 호출합니다. 텍스트 상자에 사용자가 입력한 값이 예상 형식과 일치하지 않는 경우 HttpException 예외가 만들어져 오류 형식에 따라 사용자 지정 메시지와 함께 throw됩니다.

보안 정보보안 정보

이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다. 기본적으로 ASP.NET 웹 페이지에서는 사용자 입력 내용에 스크립트나 HTML 요소가 포함되어 있지 않은지 확인합니다. 자세한 내용은 Script Exploits Overview를 참조하십시오.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    void CheckNumber()
    {
        try
        {
            // Check whether the value is an integer.
            String convertInt = textbox1.Text;
            Convert.ToInt32(convertInt);
        }
        catch (Exception e)
        {
            // Throw an HttpException with customized message.
            throw new HttpException("not an integer");
        }
    }
    void CheckBoolean()
    {
        try
        {
            // Check whether the value is an boolean.
            String convertBool = textbox1.Text;
            Convert.ToBoolean(convertBool);
        }
        catch (Exception e)
        {
            // Throw an HttpException with customized message.
            throw new HttpException("not a boolean");
        }
    }

    void Button_Click(Object sender, EventArgs e)
    {
        try
        {
            // Check to see which button was clicked.
            Button b = (Button)sender;
            if (b.ID.StartsWith("button1"))
                CheckNumber();
            else if (b.ID.StartsWith("button2"))
                CheckBoolean();

            label1.Text = "You entered: " + textbox1.Text;
            label1.ForeColor = System.Drawing.Color.Black;
        }
        // Catch the HttpException.
        catch (HttpException exp)
        {
            label1.Text = "An HttpException was raised. "
               + "The value entered in the textbox is " + exp.Message.ToString();
            label1.ForeColor = System.Drawing.Color.Red;
        }
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpException Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <br />
        <b>Enter a value in the text box.</b>
        <br />
        <asp:TextBox ID="textbox1" 
                     Runat="server">
        </asp:TextBox>
        <br />
        <asp:Button ID="button1"
                    Text="Check for integer."  
                    OnClick="Button_Click" 
                    Runat="server">
        </asp:Button>
        <br />
        <asp:Button ID="button2"
                    Text="Check for boolean." 
                    OnClick="Button_Click" 
                    Runat="server">
        </asp:Button>
        <br />
        <asp:Label ID="label1" 
                   Runat="server">
        </asp:Label>    
    </div>
    </form>
</body>
</html>


.NET Framework

4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework 에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 다음을 참조하십시오. .NET Framework 시스템 요구 사항.

이 형식의 static(Visual Basic의 경우 Shared) 모든 공용 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft