HttpParseException Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Исключение, которое возникает при возникновении ошибки синтаксического анализа.
public ref class HttpParseException sealed : System::Web::HttpException
public sealed class HttpParseException : System.Web.HttpException
[System.Serializable]
public sealed class HttpParseException : System.Web.HttpException
type HttpParseException = class
inherit HttpException
[<System.Serializable>]
type HttpParseException = class
inherit HttpException
Public NotInheritable Class HttpParseException
Inherits HttpException
- Наследование
- Атрибуты
Примеры
В следующем примере показано, как настроить HttpParseException ошибки, созданные во время синтаксического анализа страниц. В этом примере определяется настраиваемый HtmlSelect элемент управления. Если дочерние элементы пользовательского элемента управления не относятся к указанному типу, HttpParseException создается в переопределенном GetChildControlType методе пользовательского HtmlSelectBuilderэлемента управления. Чтобы создать исключение синтаксического анализа, измените литерал MyCustomOption дочернего элемента на любую другую строку.
<%@ Page Language="C#"%>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpParseException Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>HttpParseException Example</h3>
<aspSample:CustomHtmlSelectWithHttpParseException
id="customhtmlselect1"
runat="server">
<aspSample:MyCustomOption optionid="option1" value="1"/>
<aspSample:MyCustomOption optionid="option2" value="2"/>
<aspSample:MyCustomOption optionid="option3" value="3"/>
</aspSample:CustomHtmlSelectWithHttpParseException>
</form>
</body>
</html>
<%@ Page Language="VB"%>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpParseException Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>HttpParseException Example</h3>
<aspSample:CustomHtmlSelectWithHttpParseException
id="customhtmlselect1"
runat="server">
<aspSample:MyCustomOption optionid="option1" value="1"/>
<aspSample:MyCustomOption optionid="option2" value="2"/>
<aspSample:MyCustomOption optionid="option3" value="3"/>
</aspSample:CustomHtmlSelectWithHttpParseException>
</form>
</body>
</html>
using System;
using System.Security.Permissions;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace Samples.AspNet.CS
{
// Define a child control for the custom HtmlSelect.
public class MyCustomOption
{
string _id;
string _value;
public string optionid
{
get
{ return _id; }
set
{ _id = value; }
}
public string value
{
get
{ return _value; }
set
{ _value = value; }
}
}
// Define a custom HtmlSelectBuilder.
public class MyHtmlSelectBuilderWithparseException : HtmlSelectBuilder
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public override Type GetChildControlType(string tagName, IDictionary attribs)
{
// Distinguish between two possible types of child controls.
if (tagName.ToLower().EndsWith("mycustomoption"))
{
return typeof(MyCustomOption);
}
else
{
throw new HttpParseException("This custom HtmlSelect control" + "requires child elements of the form \"MyCustomOption\"");
}
}
}
[ControlBuilderAttribute(typeof(MyHtmlSelectBuilderWithparseException))]
public class CustomHtmlSelectWithHttpParseException : HtmlSelect
{
// Override the AddParsedSubObject method.
protected override void AddParsedSubObject(object obj)
{
string _outputtext;
if (obj is MyCustomOption)
{
_outputtext = "custom select option : " + ((MyCustomOption)obj).value;
ListItem li = new ListItem(_outputtext, ((MyCustomOption)obj).value);
base.Items.Add(li);
}
}
}
}
Imports System.Security.Permissions
Imports System.Collections
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Namespace Samples.AspNet.VB
' Define a child control for the custom HtmlSelect.
Public Class MyCustomOption
Private _id As String
Private _value As String
Public Property optionid() As String
Get
Return _id
End Get
Set(ByVal value As String)
_id = value
End Set
End Property
Public Property value() As String
Get
Return _value
End Get
Set(ByVal value As String)
_value = value
End Set
End Property
End Class
' Define a custom HtmlSelectBuilder.
Public Class MyHtmlSelectBuilderWithparseException
Inherits HtmlSelectBuilder
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Overrides Function GetChildControlType(ByVal tagName As String, ByVal attribs As IDictionary) As Type
' Distinguish between two possible types of child controls.
If tagName.ToLower().EndsWith("mycustomoption") Then
Return GetType(MyCustomOption)
Else
Throw New HttpParseException("This custom HtmlSelect control" & _
"requires child elements of the form ""MyCustomOption""")
End If
End Function
End Class
<ControlBuilderAttribute(GetType(MyHtmlSelectBuilderWithparseException))> _
Public Class CustomHtmlSelectWithHttpParseException
Inherits HtmlSelect
' Override the AddParsedSubObject method.
Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)
Dim _outputtext As String
If TypeOf obj Is MyCustomOption Then
_outputtext = "custom select option : " + CType(obj, MyCustomOption).value
Dim li As New ListItem(_outputtext, CType(obj, MyCustomOption).value)
MyBase.Items.Add(li)
End If
End Sub
End Class
End Namespace
Комментарии
Класс HttpParseException — это класс исключений, зависящий от HTTP, который позволяет ASP.NET выводить сведения об исключении средства синтаксического анализа. Дополнительные сведения о вызове и обработке исключений см. в разделе "Исключения".
Конструкторы
| Имя | Описание |
|---|---|
| HttpParseException() |
Инициализирует новый экземпляр класса HttpParseException. |
| HttpParseException(String, Exception, String, String, Int32) |
Инициализирует новый экземпляр HttpParseException класса с определенными сведениями о компилируемом исходном коде и номере строки, в которой произошло исключение. |
| HttpParseException(String, Exception) |
Инициализирует новый экземпляр HttpParseException класса с указанным сообщением об ошибке и ссылкой на внутреннюю. |
| HttpParseException(String) |
Инициализирует новый экземпляр HttpParseException класса с указанным сообщением об ошибке. |
Свойства
| Имя | Описание |
|---|---|
| Data |
Возвращает коллекцию пар "ключ-значение", которые предоставляют дополнительные пользовательские сведения об исключении. (Унаследовано от Exception) |
| ErrorCode |
Возвращает ошибку |
| FileName |
Возвращает имя файла, который анализируется при возникновении ошибки. |
| HelpLink |
Возвращает или задает ссылку на файл справки, связанный с этим исключением. (Унаследовано от Exception) |
| HResult |
Возвращает или задает HRESULT, закодированное числовое значение, назначенное определенному исключению. (Унаследовано от Exception) |
| InnerException |
Exception Возвращает экземпляр, вызвавшего текущее исключение. (Унаследовано от Exception) |
| Line |
Возвращает количество анализируемой строки при возникновении ошибки. |
| Message |
Возвращает сообщение, описывающее текущее исключение. (Унаследовано от Exception) |
| ParserErrors |
Возвращает ошибки синтаксического анализа для текущего исключения. |
| Source |
Возвращает или задает имя приложения или объекта, вызывающего ошибку. (Унаследовано от Exception) |
| StackTrace |
Возвращает строковое представление непосредственных кадров в стеке вызовов. (Унаследовано от Exception) |
| TargetSite |
Возвращает метод, который вызывает текущее исключение. (Унаследовано от Exception) |
| VirtualPath |
Возвращает виртуальный путь к исходному файлу, который создал ошибку. |
| WebEventCode |
Возвращает коды событий, связанные с исключением HTTP. (Унаследовано от HttpException) |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetBaseException() |
При переопределении в производном классе возвращает Exception первопричину одного или нескольких последующих исключений. (Унаследовано от Exception) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetHtmlErrorMessage() |
Возвращает сообщение об ошибке HTML для возврата клиенту. (Унаследовано от HttpException) |
| GetHttpCode() |
Возвращает код состояния HTTP-ответа, возвращаемый клиенту. (Унаследовано от HttpException) |
| GetObjectData(SerializationInfo, StreamingContext) |
При переопределении в производном классе задает SerializationInfo объект с информацией об исключении. |
| GetType() |
Возвращает тип среды выполнения текущего экземпляра. (Унаследовано от Exception) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, содержащую HRESULT ошибки. (Унаследовано от ExternalException) |
События
| Имя | Описание |
|---|---|
| SerializeObjectState |
Устаревшие..
Происходит при сериализации исключения для создания объекта состояния исключения, содержащего сериализованные данные об исключении. (Унаследовано от Exception) |