本文整理匯總了VB.NET中System.Exception.GetBaseException方法的典型用法代碼示例。如果您正苦於以下問題:VB.NET Exception.GetBaseException方法的具體用法?VB.NET Exception.GetBaseException怎麽用?VB.NET Exception.GetBaseException使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Exception
的用法示例。
在下文中一共展示了Exception.GetBaseException方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。
示例1: New
' Example for the Exception.GetBaseException method.
Namespace NDP_UE_VB
' Define two derived exceptions to demonstrate nested exceptions.
Class SecondLevelException
Inherits Exception
Public Sub New( message As String, inner As Exception )
MyBase.New( message, inner )
End Sub
End Class
Class ThirdLevelException
Inherits Exception
Public Sub New( message As String, inner As Exception )
MyBase.New( message, inner )
End Sub
End Class
Class NestedExceptions
Public Shared Sub Main( )
Console.WriteLine( _
"This example of Exception.GetBaseException " & _
"generates the following output." )
Console.WriteLine( vbCrLf & _
"The program forces a division by 0, then throws " & _
"the exception " & vbCrLf & "twice more, using " & _
"a different derived exception each time:" & vbCrLf )
Try
' This sub calls another that forces a division by 0.
Rethrow()
Catch ex As Exception
Dim current As Exception
Console.WriteLine( _
"Unwind the nested exceptions using the " & _
"InnerException property:" & vbCrLf )
' This code unwinds the nested exceptions using the
' InnerException property.
current = ex
While Not ( current Is Nothing )
Console.WriteLine( current.ToString( ) )
Console.WriteLine( )
current = current.InnerException
End While
' Display the innermost exception.
Console.WriteLine( _
"Display the base exception using the " & _
"GetBaseException method:" & vbCrLf )
Console.WriteLine( _
ex.GetBaseException( ).ToString( ) )
End Try
End Sub
' This sub catches the exception from the called sub
' DivideBy0( ) and throws another in response.
Shared Sub Rethrow( )
Try
DivideBy0( )
Catch ex As Exception
Throw New ThirdLevelException( _
"Caught the second exception and " & _
"threw a third in response.", ex )
End Try
End Sub
' This sub forces a division by 0 and throws a second
' exception.
Shared Sub DivideBy0( )
Try
Dim zero As Integer = 0
Dim ecks As Integer = 1 \ zero
Catch ex As Exception
Throw New SecondLevelException( _
"Forced a division by 0 and threw " & _
"a second exception.", ex )
End Try
End Sub
End Class
End Namespace ' NDP_UE_VB
輸出:
The program forces a division by 0, then throws the exception twice more, using a different derived exception each time: Unwind the nested exceptions using the InnerException property: NDP_UE_VB.ThirdLevelException: Caught the second exception and threw a third in response. ---> NDP_UE_VB.SecondLevelException: Forced a division by 0 and threw a second exception. ---> System.DivideByZeroException: Attempted to div ide by zero. at NDP_UE_VB.NestedExceptions.DivideBy0() --- End of inner exception stack trace --- at NDP_UE_VB.NestedExceptions.DivideBy0() at NDP_UE_VB.NestedExceptions.Rethrow() --- End of inner exception stack trace --- at NDP_UE_VB.NestedExceptions.Rethrow() at NDP_UE_VB.NestedExceptions.Main() NDP_UE_VB.SecondLevelException: Forced a division by 0 and threw a second exc eption. ---> System.DivideByZeroException: Attempted to divide by zero. at NDP_UE_VB.NestedExceptions.DivideBy0() --- End of inner exception stack trace --- at NDP_UE_VB.NestedExceptions.DivideBy0() at NDP_UE_VB.NestedExceptions.Rethrow() System.DivideByZeroException: Attempted to divide by zero. at NDP_UE_VB.NestedExceptions.DivideBy0() Display the base exception using the GetBaseException method: System.DivideByZeroException: Attempted to divide by zero. at NDP_UE_VB.NestedExceptions.DivideBy0()