HttpException HttpException HttpException HttpException Class

定義

HTTP 要求の処理中に発生した例外を説明します。Describes an exception that occurred during the processing of HTTP requests.

public ref class HttpException : System::Runtime::InteropServices::ExternalException
[System.Serializable]
public class HttpException : System.Runtime.InteropServices.ExternalException
type HttpException = class
    inherit ExternalException
Public Class HttpException
Inherits ExternalException
継承
派生
属性

次のコード例は、使用する方法を示します、HttpExceptionカスタマイズされた例外を発生させるクラス。The following code example demonstrates how to use the HttpException class to raise customized exceptions. Button_Clickメソッドのどのボタンがクリックされたおよびいずれかを呼び出す決定、CheckNumberまたはCheckBooleanメソッド。The Button_Click method determines which button was clicked, and then calls either the CheckNumber or CheckBoolean method. テキスト ボックスにユーザーが入力した値が予期された型に対応していない場合、HttpException例外が作成され、エラーの種類に基づいてカスタマイズされたメッセージと共にスローされます。If the user-entered value in the text box does not correspond to the expected type, an HttpException exception is created and thrown with a customized message based on the error type.

重要

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。This example has a text box that accepts user input, which is a potential security threat. 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。For more information, see 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>
<%@ Page Language="VB" %>

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

<script runat="server">
  Sub CheckNumber()
    
    Try

      ' Check whether the value is an integer.
      Dim convertInt As String = textbox1.Text
      Convert.ToInt32(convertInt)

    Catch e As Exception

      ' Throw an HttpException with customized message.
      Throw New HttpException("not an integer")

    End Try

  End Sub

  Sub CheckBoolean()
    
    Try

      ' Check whether the value is an boolean.
      Dim convertBool As String = textbox1.Text
      Convert.ToBoolean(convertBool)

    Catch e As Exception

      ' Throw an HttpException with customized message.
      Throw New HttpException("not a boolean")

    End Try

  End Sub

  Sub Button_Click(ByVal sender As [Object], ByVal e As EventArgs)
    
    Try

      ' Check to see which button was clicked.
      Dim b As Button = CType(sender, Button)
      If b.ID.StartsWith("button1") Then
        CheckNumber()
      ElseIf b.ID.StartsWith("button2") Then
        CheckBoolean()
      End If

      label1.Text = "You entered: " + textbox1.Text
      label1.ForeColor = System.Drawing.Color.Black

      ' Catch the HttpException.
    Catch exp As HttpException

      label1.Text = "An HttpException was raised. " + "The value entered in the textbox is " + exp.Message.ToString()
      label1.ForeColor = System.Drawing.Color.Red

    End Try

  End Sub
</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>

注釈

HttpExceptionクラスは ASP.NET の例外情報を生成できるようにする HTTP 固有の例外クラスです。The HttpException class is an HTTP-specific exception class that enables ASP.NET to generate exception information. スローして、例外の処理の詳細については、次を参照してください。例外します。For more information about throwing and handling exceptions, see Exceptions.

コンストラクター

HttpException() HttpException() HttpException() HttpException()

HttpException クラスの新しいインスタンスを初期化し、空の HttpException オブジェクトを作成します。Initializes a new instance of the HttpException class and creates an empty HttpException object.

HttpException(Int32, String) HttpException(Int32, String) HttpException(Int32, String) HttpException(Int32, String)

HTTP 応答ステータス コードとエラー メッセージを使用して、HttpException クラスの新しいインスタンスを初期化します。Initializes a new instance of the HttpException class using an HTTP response status code and an error message.

HttpException(Int32, String, Exception) HttpException(Int32, String, Exception) HttpException(Int32, String, Exception) HttpException(Int32, String, Exception)

HTTP 応答ステータス コード、エラー メッセージ、および HttpException プロパティを使用して、InnerException クラスの新しいインスタンスを初期化します。Initializes a new instance of the HttpException class using an HTTP response status code, an error message, and the InnerException property.

HttpException(Int32, String, Int32) HttpException(Int32, String, Int32) HttpException(Int32, String, Int32) HttpException(Int32, String, Int32)

HTTP 応答ステータス コード、エラー メッセージ、および例外コードを使用して、HttpException クラスの新しいインスタンスを初期化します。Initializes a new instance of the HttpException class using an HTTP response status code, an error message, and an exception code.

HttpException(SerializationInfo, StreamingContext) HttpException(SerializationInfo, StreamingContext) HttpException(SerializationInfo, StreamingContext) HttpException(SerializationInfo, StreamingContext)

シリアル化したデータを使用して、HttpException クラスの新しいインスタンスを初期化します。Initializes a new instance of the HttpException class with serialized data.

HttpException(String) HttpException(String) HttpException(String) HttpException(String)

指定したエラー メッセージを使用して、HttpException クラスの新しいインスタンスを初期化します。Initializes a new instance of the HttpException class using a supplied error message.

HttpException(String, Exception) HttpException(String, Exception) HttpException(String, Exception) HttpException(String, Exception)

エラー メッセージと HttpException プロパティを使用して、InnerException クラスの新しいインスタンスを初期化します。Initializes a new instance of the HttpException class using an error message and the InnerException property.

HttpException(String, Int32) HttpException(String, Int32) HttpException(String, Int32) HttpException(String, Int32)

エラー メッセージと例外コードを使用して、HttpException クラスの新しいインスタンスを初期化します。Initializes a new instance of the HttpException class using an error message and an exception code.

プロパティ

Data Data Data Data

例外に関する追加のユーザー定義情報を提供する、キー/値ペアのコレクションを取得します。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
ErrorCode ErrorCode ErrorCode ErrorCode

エラーの HRESULT を取得します。Gets the HRESULT of the error.

(Inherited from ExternalException)
HelpLink HelpLink HelpLink HelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

現在の例外の原因となる Exception インスタンスを取得します。Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

現在の例外を説明するメッセージを取得します。Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

呼び出し履歴で直前のフレームの文字列形式を取得します。Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

現在の例外がスローされたメソッドを取得します。Gets the method that throws the current exception.

(Inherited from Exception)
WebEventCode WebEventCode WebEventCode WebEventCode

HTTP 例外に関連付けられているイベント コードを取得します。Gets the event codes that are associated with the HTTP exception.

メソッド

CreateFromLastError(String) CreateFromLastError(String) CreateFromLastError(String) CreateFromLastError(String)

Windows API GetLastError() メソッドから返されるエラー コードに基づいて、新しい HttpException 例外を作成します。Creates a new HttpException exception based on the error code that is returned from the Windows API GetLastError() method.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetHtmlErrorMessage() GetHtmlErrorMessage() GetHtmlErrorMessage() GetHtmlErrorMessage()

クライアントに返す HTML エラー メッセージを取得します。Gets the HTML error message to return to the client.

GetHttpCode() GetHttpCode() GetHttpCode() GetHttpCode()

クライアントに返す HTTP 応答ステータス コードを取得します。Gets the HTTP response status code to return to the client.

GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

例外に関する情報を取得して、SerializationInfo オブジェクトに追加します。Gets information about the exception and adds it to the SerializationInfo object.

GetType() GetType() GetType() GetType()

現在のインスタンスのランタイム型を取得します。Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

エラーの HRESULT が格納された文字列を返します。Returns a string that contains the HRESULT of the error.

(Inherited from ExternalException)

イベント

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

適用対象

こちらもご覧ください