HttpParseException 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
剖析錯誤發生時所擲回的例外狀況。
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 在自訂 HtmlSelectBuilder 的覆 GetChildControlType 寫方法中擲回 。 若要產生剖析例外狀況,請將子專案常值 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) |
使用指定的錯誤訊息,初始化 HttpParseException 類別的新執行個體。 |
HttpParseException(String, Exception) |
使用指定的錯誤訊息和對內部的參考,初始化 HttpParseException 類別的新執行個體。 |
HttpParseException(String, Exception, String, String, Int32) |
使用正在編譯的原始程式碼和發生例外狀況的行號之特定資訊,初始化 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 物件。 |
GetObjectData(SerializationInfo, StreamingContext) |
取得例外狀況的相關資訊,並將此資訊加入至 SerializationInfo 物件。 (繼承來源 HttpException) |
GetType() |
取得目前執行個體的執行階段類型。 (繼承來源 Exception) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回字串,其中包含錯誤的 HRESULT。 (繼承來源 ExternalException) |
事件
SerializeObjectState |
已過時。
當例外狀況序列化,以建立包含例外狀況相關序列化資料的例外狀況狀態物件時,就會發生此事件。 (繼承來源 Exception) |