HttpException Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Описывает исключение, которое возникает при обработке 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
- Наследование
- Производный
- Атрибуты
Примеры
В следующем примере кода показано, как использовать HttpException класс для создания настраиваемых исключений. Метод Button_Click
определяет, какая кнопка была нажата, а затем вызывает CheckNumber
метод или CheckBoolean
. Если введенное пользователем значение в текстовом поле не соответствует ожидаемому типу, HttpException создается исключение с настраиваемым сообщением на основе типа ошибки.
Важно!
В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.
<%@ 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>
Комментарии
Класс HttpException является классом исключений, зависящим от HTTP, который позволяет ASP.NET создавать сведения об исключении. Дополнительные сведения о вызове и обработке исключений см. в разделе Исключения.
Конструкторы
HttpException() |
Выполняет инициализацию нового экземпляра класса HttpException и создает пустой объект HttpException. |
HttpException(Int32, String) |
Выполняет инициализацию нового экземпляра класса HttpException, используя код состояния HTTP-ответа и сообщение об ошибке. |
HttpException(Int32, String, Exception) |
Выполняет инициализацию нового экземпляра класса HttpException, используя код состояния HTTP-ответа, сообщение об ошибке и свойство InnerException. |
HttpException(Int32, String, Int32) |
Выполняет инициализацию нового экземпляра класса HttpException, используя код состояния HTTP-ответа, сообщение об ошибке и код исключения. |
HttpException(SerializationInfo, StreamingContext) |
Инициализирует новый экземпляр класса HttpException с сериализованными данными. |
HttpException(String) |
Выполняет инициализацию нового экземпляра класса HttpException с заданным сообщением об ошибке. |
HttpException(String, Exception) |
Выполняет инициализацию нового экземпляра класса HttpException, используя сообщение об ошибке и свойство InnerException. |
HttpException(String, Int32) |
Выполняет инициализацию нового экземпляра класса HttpException, используя сообщение об ошибке и код исключения. |
Свойства
Data |
Возвращает коллекцию пар «ключ-значение», предоставляющую дополнительные сведения об исключении. (Унаследовано от Exception) |
ErrorCode |
Возвращает |
HelpLink |
Получает или задает ссылку на файл справки, связанный с этим исключением. (Унаследовано от Exception) |
HResult |
Возвращает или задает HRESULT — кодированное числовое значение, присвоенное определенному исключению. (Унаследовано от Exception) |
InnerException |
Возвращает экземпляр класса Exception, который вызвал текущее исключение. (Унаследовано от Exception) |
Message |
Возвращает сообщение, описывающее текущее исключение. (Унаследовано от Exception) |
Source |
Возвращает или задает имя приложения или объекта, вызывавшего ошибку. (Унаследовано от Exception) |
StackTrace |
Получает строковое представление непосредственных кадров в стеке вызова. (Унаследовано от Exception) |
TargetSite |
Возвращает метод, создавший текущее исключение. (Унаследовано от Exception) |
WebEventCode |
Получает коды событий, связанные с HTTP-исключением. |
Методы
CreateFromLastError(String) |
Создает новое исключение HttpException на основе кода ошибки, возвращенного методом |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetBaseException() |
При переопределении в производном классе возвращает исключение Exception, которое является первопричиной одного или нескольких последующих исключений. (Унаследовано от Exception) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetHtmlErrorMessage() |
Возвращает HTML-сообщение об ошибке для возврата клиенту. |
GetHttpCode() |
Возвращает код состояния HTTP-ответа для передачи клиенту. |
GetObjectData(SerializationInfo, StreamingContext) |
Возвращает сведения об исключении и добавляет их в объект SerializationInfo. |
GetObjectData(SerializationInfo, StreamingContext) |
Устаревшие..
При переопределении в производном классе задает объект SerializationInfo со сведениями об исключении. (Унаследовано от Exception) |
GetType() |
Возвращает тип среды выполнения текущего экземпляра. (Унаследовано от Exception) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, содержащую значение HRESULT ошибки. (Унаследовано от ExternalException) |
События
SerializeObjectState |
Устаревшие..
Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении. (Унаследовано от Exception) |