HttpParseException クラス
アセンブリ: System.Web (system.web.dll 内)


HttpParseException クラスは HTTP 固有の例外クラスで、ASP.NET はこれを使用してパーサー例外情報を出力できます。例外のスローと処理の詳細については、「例外の処理とスロー」を参照してください。

HttpParseException を使用してページの解析中に生成されるエラーをカスタマイズする方法を、次のコード例に示します。この例では、カスタマイズされた HtmlSelect コントロールが定義されます。カスタム コントロールの子要素が指定された型ではない場合、カスタム HtmlSelectBuilder のオーバーライドされた GetChildControlType メソッドで HttpParseException がスローされます。解析例外を生成するには、子要素リテラル MyCustomOption を別の文字列に変更します。
<%@ Page Language="VB"%> <%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %> <html > <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="C#"%> <%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %> <html > <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>
Imports System 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
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); } } } }


System.Exception
System.SystemException
System.Runtime.InteropServices.ExternalException
System.Web.HttpException
System.Web.HttpParseException


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- HttpParseException クラスのページへのリンク