Sdílet prostřednictvím


HttpException Třída

Definice

Popisuje výjimku, ke které došlo během zpracování požadavků HTTP.

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. Metoda Button_Click určuje, na které tlačítko bylo kliklo, a pak zavolá metodu CheckNumber nebo CheckBoolean . Pokud hodnota zadaná uživatelem v textovém poli neodpovídá očekávanému typu, HttpException vytvoří se výjimka a vyvolá se přizpůsobená zpráva založená na typu chyby.

Důležité

Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřte, že uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.

<%@ 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

Třída HttpException je třída výjimky specifická pro protokol HTTP, která ASP.NET umožňuje generovat informace o výjimce. Další informace o vyvolání a zpracování výjimek najdete v tématu Výjimky.

Konstruktory

HttpException()

Inicializuje novou instanci HttpException třídy a vytvoří prázdný HttpException objekt.

HttpException(Int32, String)

Inicializuje novou instanci HttpException třídy pomocí stavového kódu odpovědi HTTP a chybové zprávy.

HttpException(Int32, String, Exception)

Inicializuje novou instanci HttpException třídy pomocí stavového kódu odpovědi HTTP, chybové zprávy a InnerException vlastnosti .

HttpException(Int32, String, Int32)

Inicializuje novou instanci HttpException třídy pomocí stavového kódu odpovědi HTTP, chybové zprávy a kódu výjimky.

HttpException(SerializationInfo, StreamingContext)

Inicializuje novou instanci třídy HttpException se serializovanými daty.

HttpException(String)

Inicializuje novou instanci HttpException třídy pomocí zadané chybové zprávy.

HttpException(String, Exception)

Inicializuje novou instanci HttpException třídy pomocí chybové zprávy a InnerException vlastnosti .

HttpException(String, Int32)

Inicializuje novou instanci HttpException třídy pomocí chybové zprávy a kódu výjimky.

Vlastnosti

Data

Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce.

(Zděděno od Exception)
ErrorCode

HRESULT Získá z chyby.

(Zděděno od ExternalException)
HelpLink

Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce.

(Zděděno od Exception)
HResult

Získá nebo nastaví HRESULT, kódovaná číselná hodnota, která je přiřazena ke konkrétní výjimce.

(Zděděno od Exception)
InnerException

Exception Získá instanci, která způsobila aktuální výjimku.

(Zděděno od Exception)
Message

Získá zprávu, která popisuje aktuální výjimku.

(Zděděno od Exception)
Source

Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu.

(Zděděno od Exception)
StackTrace

Získá řetězcovou reprezentaci okamžitých rámců v zásobníku volání.

(Zděděno od Exception)
TargetSite

Získá metodu, která vyvolá aktuální výjimku.

(Zděděno od Exception)
WebEventCode

Získá kódy událostí, které jsou přidruženy k výjimce HTTP.

Metody

CreateFromLastError(String)

Vytvoří novou HttpException výjimku na základě kódu chyby, který je vrácen z metody rozhraní API GetLastError() systému Windows.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Při přepsání v odvozené třídě vrátí hodnotu Exception , která je původní příčinou jedné nebo více následných výjimek.

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

Slouží jako výchozí hashovací funkce.

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

Získá chybovou zprávu HTML pro návrat do klienta.

GetHttpCode()

Získá stavový kód odpovědi HTTP, který se vrátí klientovi.

GetObjectData(SerializationInfo, StreamingContext)

Získá informace o výjimce a přidá je do objektu SerializationInfo .

GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Při přepsání v odvozené třídě nastaví s SerializationInfo informacemi o výjimce.

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

Získá typ modulu runtime aktuální instance.

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

Vytvoří mělkou kopii aktuálního Objectsouboru .

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

Vrátí řetězec, který obsahuje hodnotu HRESULT chyby.

(Zděděno od ExternalException)

Událost

SerializeObjectState
Zastaralé.

Nastane, když je výjimka serializována k vytvoření objektu stavu výjimky, který obsahuje serializovaná data o výjimce.

(Zděděno od Exception)

Platí pro

Viz také