HttpException Klasa

Definicja

Opisuje wyjątek, który wystąpił podczas przetwarzania żądań 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
Public Class HttpException
Inherits ExternalException
Dziedziczenie
Pochodne
Atrybuty

Przykłady

Poniższy przykład kodu demonstruje, jak używać klasy HttpException do wywoływania niestandardowych wyjątków.The following code example demonstrates how to use the HttpException class to raise customized exceptions. Metoda Button_Click określa, który przycisk został kliknięty, a następnie wywołuje metodę CheckNumber lub CheckBoolean.The Button_Click method determines which button was clicked, and then calls either the CheckNumber or CheckBoolean method. Jeśli wartość wprowadzona przez użytkownika w polu tekstowym nie odpowiada oczekiwanemu typowi, zostanie utworzony wyjątek HttpException, który zostanie wygenerowany z niestandardowym komunikatem na podstawie typu błędu.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.

Ważne

Ten przykład zawiera pole tekstowe akceptujące dane wejściowe użytkownika, które jest potencjalnym zagrożeniem bezpieczeństwa.This example has a text box that accepts user input, which is a potential security threat. Domyślnie strony sieci Web ASP.NET sprawdzają, czy dane wejściowe użytkownika nie obejmują elementów skryptu ani HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach.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>

Uwagi

Klasa HttpException jest klasą wyjątku specyficznym dla protokołu HTTP, która umożliwia ASP.NETom generowanie informacji o wyjątkach.The HttpException class is an HTTP-specific exception class that enables ASP.NET to generate exception information. Aby uzyskać więcej informacji na temat zgłaszania i obsługiwania wyjątków, zobacz Exceptions.For more information about throwing and handling exceptions, see Exceptions.

Konstruktory

HttpException()

Inicjuje nowe wystąpienie klasy HttpException i tworzy pusty obiekt HttpException.Initializes a new instance of the HttpException class and creates an empty HttpException object.

HttpException(Int32, String)

Inicjuje nowe wystąpienie klasy HttpException przy użyciu kodu stanu odpowiedzi HTTP i komunikatu o błędzie.Initializes a new instance of the HttpException class using an HTTP response status code and an error message.

HttpException(Int32, String, Exception)

Inicjuje nowe wystąpienie klasy HttpException przy użyciu kodu stanu odpowiedzi HTTP, komunikatu o błędzie i właściwości InnerException.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)

Inicjuje nowe wystąpienie klasy HttpException przy użyciu kodu stanu odpowiedzi HTTP, komunikatu o błędzie i kodu wyjątku.Initializes a new instance of the HttpException class using an HTTP response status code, an error message, and an exception code.

HttpException(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie klasy HttpException z zserializowanymi danymi.Initializes a new instance of the HttpException class with serialized data.

HttpException(String)

Inicjuje nowe wystąpienie klasy HttpException przy użyciu podanego komunikatu o błędzie.Initializes a new instance of the HttpException class using a supplied error message.

HttpException(String, Exception)

Inicjuje nowe wystąpienie klasy HttpException przy użyciu komunikatu o błędzie i właściwości InnerException.Initializes a new instance of the HttpException class using an error message and the InnerException property.

HttpException(String, Int32)

Inicjuje nowe wystąpienie klasy HttpException przy użyciu komunikatu o błędzie i kodu wyjątku.Initializes a new instance of the HttpException class using an error message and an exception code.

Właściwości

Data

Pobiera kolekcję par klucz/wartość, które zawierają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Odziedziczone po Exception)
ErrorCode

Pobiera HRESULT błędu.Gets the HRESULT of the error.

(Odziedziczone po ExternalException)
HelpLink

Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem.Gets or sets a link to the help file associated with this exception.

(Odziedziczone po Exception)
HResult

Pobiera lub ustawia wartość HRESULT, kodowane wartości liczbowe przypisane do określonego wyjątku.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Odziedziczone po Exception)
InnerException

Pobiera wystąpienie Exception, które spowodowało wyjątek bieżący.Gets the Exception instance that caused the current exception.

(Odziedziczone po Exception)
Message

Pobiera komunikat, który opisuje bieżący wyjątek.Gets a message that describes the current exception.

(Odziedziczone po Exception)
Source

Pobiera lub ustawia nazwę aplikacji lub obiekt, który powoduje błąd.Gets or sets the name of the application or the object that causes the error.

(Odziedziczone po Exception)
StackTrace

Pobiera ciąg reprezentujący bezpośrednie ramki w stosie wywołań.Gets a string representation of the immediate frames on the call stack.

(Odziedziczone po Exception)
TargetSite

Pobiera metodę, która zgłasza bieżący wyjątek.Gets the method that throws the current exception.

(Odziedziczone po Exception)
WebEventCode

Pobiera kody zdarzeń, które są skojarzone z wyjątek HTTP.Gets the event codes that are associated with the HTTP exception.

Metody

CreateFromLastError(String)

Tworzy nowy wyjątek HttpException w oparciu o kod błędu, który jest zwracany z metody GetLastError() interfejsu API systemu Windows.Creates a new HttpException exception based on the error code that is returned from the Windows API GetLastError() method.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetBaseException()

Gdy jest zastępowany w klasie pochodnej, zwraca Exception, który jest główną przyczyną jednego lub kilku kolejnych wyjątków.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Odziedziczone po Exception)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetHtmlErrorMessage()

Pobiera komunikat o błędzie HTML, aby powrócić do klienta programu.Gets the HTML error message to return to the client.

GetHttpCode()

Pobiera kod stanu odpowiedzi HTTP, aby powrócić do klienta programu.Gets the HTTP response status code to return to the client.

GetObjectData(SerializationInfo, StreamingContext)

Pobiera informacje o wyjątku i dodaje go do obiektu SerializationInfo.Gets information about the exception and adds it to the SerializationInfo object.

GetObjectData(SerializationInfo, StreamingContext)

Gdy jest zastępowany w klasie pochodnej, ustawia SerializationInfo z informacjami o wyjątku.When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Odziedziczone po Exception)
GetType()

Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia.Gets the runtime type of the current instance.

(Odziedziczone po Exception)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który zawiera wartość HRESULT błędu.Returns a string that contains the HRESULT of the error.

(Odziedziczone po ExternalException)

Zdarzenia

SerializeObjectState

Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku, który zawiera serializowane dane dotyczące wyjątku.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Odziedziczone po Exception)

Dotyczy

Zobacz też