HttpException Třída

Definice

Popisuje výjimku, ke které došlo během zpracování požadavků HTTP.Describes an exception that occurred during the processing of HTTP requests.

public ref class HttpException : System::Runtime::InteropServices::ExternalException
public class HttpException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public class HttpException : System.Runtime.InteropServices.ExternalException
type HttpException = class
    inherit ExternalException
[<System.Serializable>]
type HttpException = class
    inherit ExternalException
Public Class HttpException
Inherits ExternalException
Dědičnost
Odvozené
Atributy

Příklady

Následující příklad kódu ukazuje, jak použít HttpException třídu k vyvolání přizpůsobených výjimek.The following code example demonstrates how to use the HttpException class to raise customized exceptions. Button_ClickMetoda určuje, na které tlačítko bylo kliknuto, a poté volá CheckNumber metodu nebo CheckBoolean .The Button_Click method determines which button was clicked, and then calls either the CheckNumber or CheckBoolean method. Pokud uživatelem zadaná hodnota v textovém poli neodpovídá očekávanému typu, HttpException je vytvořena výjimka a je vyvolána s přizpůsobenou zprávou na základě typu chyby.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.

Důležité

V tomto příkladu je textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba.This example has a text box that accepts user input, which is a potential security threat. Ve výchozím nastavení webové stránky ASP.NET ověřují, zda vstup uživatele nezahrnuje skripty ani prvky jazyka HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Další informace najdete v tématu Přehled zneužití skriptů.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>

Poznámky

HttpExceptionTřída je třída výjimek specifická pro protokol HTTP, která umožňuje ASP.NET generovat informace o výjimce.The HttpException class is an HTTP-specific exception class that enables ASP.NET to generate exception information. Další informace o vyvolání a zpracování výjimek naleznete v tématu výjimky.For more information about throwing and handling exceptions, see Exceptions.

Konstruktory

HttpException()

Inicializuje novou instanci HttpException třídy a vytvoří prázdný HttpException objekt.Initializes a new instance of the HttpException class and creates an empty HttpException object.

HttpException(Int32, String)

Inicializuje novou instanci HttpException třídy pomocí kódu stavu odpovědi HTTP a chybové zprávy.Initializes a new instance of the HttpException class using an HTTP response status code and an error message.

HttpException(Int32, String, Exception)

Inicializuje novou instanci HttpException třídy pomocí kódu stavu odpovědi HTTP, chybové zprávy a InnerException Vlastnosti.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)

Inicializuje novou instanci HttpException třídy pomocí kódu stavu odpovědi HTTP, chybové zprávy a kódu výjimky.Initializes a new instance of the HttpException class using an HTTP response status code, an error message, and an exception code.

HttpException(SerializationInfo, StreamingContext)

Inicializuje novou instanci třídy HttpException se serializovanými daty.Initializes a new instance of the HttpException class with serialized data.

HttpException(String)

Inicializuje novou instanci HttpException třídy pomocí zadané chybové zprávy.Initializes a new instance of the HttpException class using a supplied error message.

HttpException(String, Exception)

Inicializuje novou instanci HttpException třídy pomocí chybové zprávy a InnerException Vlastnosti.Initializes a new instance of the HttpException class using an error message and the InnerException property.

HttpException(String, Int32)

Inicializuje novou instanci HttpException třídy pomocí chybové zprávy a kódu výjimky.Initializes a new instance of the HttpException class using an error message and an exception code.

Vlastnosti

Data

Získá kolekci párů klíč/hodnota, které poskytují další uživatelsky definované informace o výjimce.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Zděděno od Exception)
ErrorCode

Získá HRESULT chybu.Gets the HRESULT of the error.

(Zděděno od ExternalException)
HelpLink

Získá nebo nastaví odkaz na soubor s nápovědě spojený s touto výjimkou.Gets or sets a link to the help file associated with this exception.

(Zděděno od Exception)
HResult

Získá nebo nastaví hodnotu HRESULT, kódované číselné hodnoty, která je přiřazena konkrétní výjimce.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Zděděno od Exception)
InnerException

Získá Exception instanci, která způsobila aktuální výjimku.Gets the Exception instance that caused the current exception.

(Zděděno od Exception)
Message

Získá zprávu s popisem aktuální výjimky.Gets a message that describes the current exception.

(Zděděno od Exception)
Source

Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu.Gets or sets the name of the application or the object that causes the error.

(Zděděno od Exception)
StackTrace

Načte řetězcovou reprezentaci okamžitých snímků v zásobníku volání.Gets a string representation of the immediate frames on the call stack.

(Zděděno od Exception)
TargetSite

Získá metodu, která vyvolá aktuální výjimku.Gets the method that throws the current exception.

(Zděděno od Exception)
WebEventCode

Získá kódy událostí, které jsou spojeny s výjimkou protokolu HTTP.Gets the event codes that are associated with the HTTP exception.

Metody

CreateFromLastError(String)

Vytvoří novou HttpException výjimku na základě kódu chyby vráceného z metody rozhraní Windows API GetLastError() .Creates a new HttpException exception based on the error code that is returned from the Windows API GetLastError() method.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetBaseException()

Při přepsání v odvozené třídě vrátí hodnotu Exception , která je hlavní příčinou jedné nebo více následných výjimek.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Zděděno od Exception)
GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetHtmlErrorMessage()

Získá chybovou zprávu HTML, která se vrátí klientovi.Gets the HTML error message to return to the client.

GetHttpCode()

Získá stavový kód odpovědi HTTP, který se má vrátit klientovi.Gets the HTTP response status code to return to the client.

GetObjectData(SerializationInfo, StreamingContext)

Načte informace o výjimce a přidá je do SerializationInfo objektu.Gets information about the exception and adds it to the SerializationInfo object.

GetObjectData(SerializationInfo, StreamingContext)

Při přepsání v odvozené třídě nastaví na SerializationInfo výjimku informace o výjimce.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Zděděno od Exception)
GetType()

Získá typ modulu runtime aktuální instance.Gets the runtime type of the current instance.

(Zděděno od Exception)
MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který obsahuje hodnotu HRESULT chyby.Returns a string that contains the HRESULT of the error.

(Zděděno od ExternalException)

Události

SerializeObjectState

Nastane, pokud je serializovaná výjimka pro vytvoření objektu stavu výjimky, který obsahuje Serializovaná data o výjimce.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Zděděno od Exception)

Platí pro

Viz také