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
- AspNetHostingPermission für den Betrieb in einer Hostumgebung. Anforderungswert: LinkDemand, Berechtigungswert: Minimal.
- AspNetHostingPermission für den Betrieb in einer Hostumgebung. Anforderungswert: InheritanceDemand, Berechtigungswert: Minimal.
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