Freigeben über


HttpException-Konstruktor (Int32, String, Exception)

Initialisiert mit dem HTTP-Antwortstatuscode, einer Fehlermeldung und der InnerException-Eigenschaft eine neue Instanz der HttpException-Klasse.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Sub New ( _
    httpCode As Integer, _
    message As String, _
    innerException As Exception _
)
'Usage
Dim httpCode As Integer
Dim message As String
Dim innerException As Exception

Dim instance As New HttpException(httpCode, message, innerException)
public HttpException (
    int httpCode,
    string message,
    Exception innerException
)
public:
HttpException (
    int httpCode, 
    String^ message, 
    Exception^ innerException
)
public HttpException (
    int httpCode, 
    String message, 
    Exception innerException
)
public function HttpException (
    httpCode : int, 
    message : String, 
    innerException : Exception
)

Parameter

  • httpCode
    Der HTTP-Antwortstatuscode, der auf dem Client angezeigt wird.
  • message
    Die Fehlermeldung, die dem Client beim Auslösen der Ausnahme angezeigt wird.
  • innerException
    Die ggf. vorhandene InnerException, die die aktuelle Ausnahme ausgelöst hat.

Hinweise

Bei der Behandlung von Ausnahmen empfiehlt es sich, ggf. eine Folge zusammengehöriger Ausnahmen zu erfassen, bei der die äußere Ausnahme infolge einer inneren Ausnahme ausgelöst wird.

Die InnerException-Eigenschaft der äußeren Ausnahme enthält einen Verweis auf die innere Ausnahme, die die äußere Ausnahme verursacht hat. Bei diesem Verfahren bleiben die Fehlerinformationen, die von früheren Ausnahmen übermittelt wurden, einschließlich der ursprünglichen Ausnahmen erhalten, und Sie können aussagekräftigere äußere Ausnahmen erstellen. Weitere Informationen finden Sie unter InnerException.

Beispiel

Im folgenden Codebeispiel wird der HttpException-Konstruktor der HttpException-Klasse veranschaulicht. Die CheckNumber-Methode akzeptiert einen vom Benutzer eingegebenen Wert und prüft, ob es sich um eine ganze Zahl handelt. Wenn der Wert keine ganze Zahl ist, wird eine Ausnahme ausgelöst. Anschließend wird ein neues HttpException-Objekt erstellt, das den HTTP-Antwortstatuscode, die Meldung der Ausnahme und die innere Ausnahme enthält. Diese Ausnahme wird im Button_Click-Ereignishandler abgefangen, und die Fehlermeldung, der Fehlercode und die innere Ausnahme werden angezeigt.

<%@ Import Namespace="System.Drawing" %>
<html>
   <head>
      <script language="VB" runat="server">
         Sub CheckNumber()
            Try
               'Check whether the value is integer.
               Dim convertInt As [String] = textbox1.Text
               Convert.ToInt32(convertInt)
            Catch ex As Exception
               ' Throw an HttpException object that contains the HTTP error code,
               ' message, and inner exception.
               Throw New HttpException(500, "The entered value is not an integer.", ex)
            End Try
         End Sub
 
         Sub Button_Click(sender As [Object], e As EventArgs)
            Try
               CheckNumber()
               label1.Text = "The integer Value you entered is: " & textbox1.Text

            Catch exp As HttpException
               ' Display the Exception thrown.
               label1.ForeColor = Color.Red
               label1.Text = "An HttpException was raised: " & exp.Message

               Dim myInnerException As Exception = exp.InnerException

               ' Display the inner exception.
               label2.Text = "InnerException is : " & myInnerException.GetType().ToString()
                
            End Try
         End Sub 

         Sub page_load(sender As [Object], e As EventArgs)
            label1.Text = ""
            label2.Text = ""
         End Sub 
      </script>
   </head>

   <body MS_POSITIONING="GridLayout">
      <center>
         <h3>Example for HttpException</h3>
         <form id="WebForm9" method="post" runat="server">
            <b>Enter the value in the text box.</b>
            <asp:TextBox Runat="server" ID="textbox1"></asp:TextBox>
            <br>
            <asp:Button Text="Click Here" OnClick="Button_Click" Runat="server" ID="Button1"></asp:Button>
            <br>
            <b>
            <asp:Label Runat="server" ID="label1"></asp:Label>
            <br>
            <asp:Label Runat="server" ID="label2"></asp:Label>
            </b>
         </form>
      </center>
   </body>
</html>
<%@ Import Namespace="System.Drawing" %>
<html>
   <head>
      <script language="C#" runat="server">
         void CheckNumber()
         {
            try
            {
               // Check whether the value is an integer.
               String convertInt = textbox1.Text;
               Convert.ToInt32(convertInt);
            }
            catch(Exception ex)
            {
               // Throw an HttpException object that contains the HTTP error code,
               // message, and inner exception.
               throw new HttpException(500, "The entered value is not an integer.", ex);
            }
         }
         
         void Button_Click(Object sender, EventArgs e)
         {
            try
            {
               CheckNumber();
               label1.Text = "The integer value you entered is: " + textbox1.Text;
            }
            catch(HttpException exp)
            {
               // Display the exception thrown.
               label1.ForeColor = Color.Red;
               label1.Text = "An HttpException was raised!: " + exp.Message;
               Exception myInnerException = exp.InnerException;
               
               // Display the inner exception.
               label2.Text = "The InnerException is : " + myInnerException.GetType();
                
            }
         }
     
         void page_load(Object sender,EventArgs e)
         {
           label1.Text="";
           label2.Text="";
         }

      </script>
   </head>

   <body MS_POSITIONING="GridLayout">
      <center>
         <h3>Example for HttpException</h3>
         <form id="WebForm9" method="post" runat="server">
            <b>Enter the value in the text box </b>
            <br>
            <asp:TextBox Runat="server" ID="textbox1"></asp:TextBox>
            <br>
            <asp:Button Text="Click Here" OnClick="Button_Click" Runat="server" ID="Button1"></asp:Button>
            <br>
            <b>
               <asp:Label Runat="server" ID="label1"></asp:Label>
               <br>
               <asp:Label Runat="server" ID="label2"></asp:Label>
            </b>
         </form>
      </center>
   </body>
</html>
<%@ Import Namespace="System.Drawing" %>
<html>
   <head>
    <script language="VJ#" runat="server">
        void CheckNumber() throws HttpException
        {
            try {
                // Check whether the value is an integer.
                String convertInt = textbox1.get_Text();
                Convert.ToInt32(convertInt);
            }
            catch(Exception ex) {
                // Throw an HttpException object that contains the HTTP error 
                // code, message, and inner exception.
                throw new HttpException(500, "The entered value is not an " 
                    + "integer.", ex);
            }
        } //CheckNumber
        
        void Button_Click(Object sender, EventArgs e)
        {
            try {
                CheckNumber();
                label1.set_Text("The integer value you entered is: " 
                    + textbox1.get_Text());
            }
            catch(HttpException exp) {
                // Display the exception thrown.
                label1.set_ForeColor(Color.get_Red());
                label1.set_Text("An HttpException was raised!: " 
                    + exp.get_Message());
                System.Exception myInnerException = exp.get_InnerException();
                
                // Display the inner exception.
                label2.set_Text("The InnerException is : " 
                    + myInnerException.GetType());
            }
        } //Button_Click
     
        void page_load(Object sender,EventArgs e)
        {
            label1.set_Text("");
            label2.set_Text("");
        } //page_load
      </script>
   </head>

   <body MS_POSITIONING="GridLayout">
      <center>
         <h3>Example for HttpException</h3>
         <form id="WebForm9" method="post" runat="server">
            <b>Enter the value in the text box </b>
            <br>
            <asp:TextBox Runat="server" ID="textbox1"></asp:TextBox>
            <br>
            <asp:Button Text="Click Here" OnClick="Button_Click" Runat="server" ID="Button1"></asp:Button>
            <br>
            <b>
               <asp:Label Runat="server" ID="label1"></asp:Label>
               <br>
               <asp:Label Runat="server" ID="label2"></asp:Label>
            </b>
         </form>
      </center>
   </body>
</html>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HttpException-Klasse
HttpException-Member
System.Web-Namespace
InnerException