Freigeben über


HttpException-Klasse

Beschreibt eine Ausnahme, die während der Verarbeitung der HTTP-Anforderungen aufgetreten ist.

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

Syntax

'Declaration
<SerializableAttribute> _
Public Class HttpException
    Inherits ExternalException
'Usage
Dim instance As HttpException
[SerializableAttribute] 
public class HttpException : ExternalException
[SerializableAttribute] 
public ref class HttpException : public ExternalException
/** @attribute SerializableAttribute() */ 
public class HttpException extends ExternalException
SerializableAttribute 
public class HttpException extends ExternalException

Hinweise

Die HttpException-Klasse ist eine HTTP-spezifische Ausnahmeklasse, die es ASP.NET ermöglicht, Ausnahmeinformationen zu generieren. Weitere Informationen zum Auslösen und Behandeln von Ausnahmen finden Sie unter Behandeln und Auslösen von Ausnahmen.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe der HttpException-Klasse benutzerdefinierte Ausnahmen ausgelöst werden. Mit der Button_Click-Methode wird bestimmt, auf welche Schaltfläche geklickt wurde. Anschließend wird entweder die CheckNumber-Methode oder die CheckBoolean-Methode aufgerufen. Wenn der vom Benutzer im Textfeld angegebene Wert nicht dem erwarteten Typ entspricht, wird eine HttpException-Ausnahme erstellt und je nach Fehlertyp mit einer benutzerdefinierten Meldung ausgelöst.

<%@ Page language="VB" %>

<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>
   <head>
     <title>HttpException Example</title>
   </head>
   <body>
     <h3>HttpException Example</h3>
      
     <form id="Form1" runat="server">
        <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>
     </form>
   </body>
</html>
<%@ Page language="C#" %>

<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>
   <head>
     <title>HttpException Example</title>
   </head>
   <body>
     <h3>HttpException Example</h3>
      
     <form runat="server">
        <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>
     </form>
   </body>
</html>

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
   System.Exception
     System.SystemException
       System.Runtime.InteropServices.ExternalException
        System.Web.HttpException
           System.Web.HttpCompileException
           System.Web.HttpParseException
           System.Web.HttpRequestValidationException
           System.Web.HttpUnhandledException

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

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-Member
System.Web-Namespace

Weitere Ressourcen

Behandeln und Auslösen von Ausnahmen