GetBaseException |
Exception = HttpException.GetBaseException( ) |
Returns an Exception object representing the original exception in a set of nested exceptions. This property provides a shortcut to the innermost exception accessible via the InnerException property.
An Exception instance that will be populated by the method.
The following code example creates a set of three nested exceptions, the second and third of which are created with an overloaded constructor that sets the InnerException property to the prior exception. The code throws the third exception, which is caught by the Catch statement. The Catch block displays the error message of both the immediate inner exception by using the InnerException property and the original exception by using the Message property of the exception returned by the GetBaseException method:
Sub Page_Load( ) Try Dim myHttpEx As _ New HttpException("This is the original exception") Dim myHttpEx2 As _ New HttpException("This is a nested exception", myHttpEx) Throw New HttpException("Threw an exception from Page_Load", _ myHttpEx2) Catch HttpEx As HttpException Dim InnerHttpEx As HttpException InnerHttpEx = CType(HttpEx.InnerException, HttpException) Message.Text = "ERROR:<br/>" Message.Text &= "Message: " & HttpEx.Message & "<br/>" Message.Text &= "Inner Exception Message: " & _ InnerHttpEx.Message & "<br/>" Message.Text &= "Base Exception Message: " & _ InnerHttpEx.GetBaseException.Message & "<br/>" End Try End Sub
Like the TargetSite property example, this example accesses a property of the instance returned by the GetBaseException method directly, rather than creating a local instance variable first. The same caveats about reduction in code versus readability apply here.
GetHtmlErrorMessage |
string = HttpException.GetHtmlErrorMessage( ) |
Returns a string containing the HTTP error message (if any) set by the originator of the exception.
A string variable that will receive the value from the method.
This method will return a value only if the HttpException contains an HTTP error message.
GetHttpCode |
integer = HttpException.GetHttpCode( ) |
Returns an integer containing the HTTP status code contained within the exception. For most exceptions thrown by the ASP.NET intrinsic objects, this integer will be 500, indicating an HTTP server error.
An integer variable to receive the HTTP code from the method.
The code example causes an exception by calling Server.Execute on a page that does not exist. The exception is then caught and the HTTP status code is displayed by calling GetHttpCode:
Sub Page_Load( ) Try Server.Execute("Foo.aspx") Catch HttpEx As HttpException Message.Text = "ERROR:<br/>" Message.Text &= "Http Status Code: " & _ HttpEx.GetHttpCode( ) & "<br/>" End Try End Sub
This method is most useful for custom exceptions raised in methods that make HTTP calls, since it allows you to pass back the HTTP result code (404 for not found, 403 for access denied, etc.) to the calling client.
ToString |
string = HttpException.ToString( ) |
Returns a string containing the fully qualified name of the exception, the error message (if available), the name of the inner exception, and the stack trace.
A string variable to receive the value from the method.
The code example causes an exception by attempting to set a Session value on a page for which the EnableSessionState attribute of the @ Page directive has been set to False. The example code then displays the string representation of the resulting exception:
<%@ Page Language="vb" EnableSessionState="false" %> Sub Page_Load( ) Try Session("foo") = "Foo" Catch HttpEx As HttpException Message.Text = "ERROR:<br/>" Message.Text &= "String Representation of Exception: " & _ HttpEx.ToString( ) & "<br/>" End Try End Sub
This method provides a quick and easy shortcut for displaying the available information about a given exception without having to call the individual methods and properties of the HttpException object.