VB.Net/Development/Exception Message

Материал из VB Эксперт
Перейти к: навигация, поиск

Customize Exception Information

Imports System
Imports System.Text 
Imports System.Text.RegularExpressions
Public Class MainClass
    Shared Sub Main(ByVal args As String())
             Try
                 Console.WriteLine("Open file here")
                 Dim a As Double = 5
                 Dim b As Double = 0
                 Console.WriteLine("{0} / {1} = {2}", a, b, DoDivide(a, b))
                 Console.WriteLine("This line may or may not print")
                 " most derived exception type first
             Catch e As System.DivideByZeroException
                 Console.WriteLine( _
                   "DivideByZeroException! Msg: {0}", e.Message)
                 Console.WriteLine( _
                    "Helplink: {0}", e.HelpLink)
                 Console.WriteLine( _
                     "Stack trace: {0}", e.StackTrace)
             Catch
                 Console.WriteLine("Unknown exception caught!")
             Finally
                 Console.WriteLine("Close file here.")
             End Try
    End Sub
         " do the division if legal
         Shared Public Function DoDivide( _
             ByVal a As Double, ByVal b As Double) As Double
             If b = 0 Then
                 Dim e As New System.DivideByZeroException( )
              e.HelpLink = "http://www.vbex.ru"
                 Throw e
             End If
             If a = 0 Then
                 Throw New System.ArithmeticException( )
             End If
             Return a / b
         End Function "DoDivide
End Class


Display Exception, Inner Exception and stack trace

Imports System
Imports System.Data
Imports System.Diagnostics
public class MainClass
   Shared Sub Main()
      Try
          Dim Result As Double = 100 \ CInt("0")
          Console.WriteLine(Result)
      Catch E As System.DivideByZeroException
          Console.WriteLine("Message: " + E.Message)
          Dim F As Integer, S As New StackTrace(E)
          Console.WriteLine("StackFrame: ")
          For f = 0 To S.FrameCount - 1
              Console.WriteLine(S.GetFrame(f).ToString())
          Next F
      End Try
   End Sub
End Class


Exception Help Link, Message and Trace

Imports System
Imports System.Text
Imports System.Text.RegularExpressions

Public Class MainClass
         Shared Sub Main(  )
             Try
                 Console.WriteLine("Open file here")
                 Dim a As Double = 5
                 Dim b As Double = 0
                 Console.WriteLine("{0} / {1} = {2}", a, b, DoDivide(a, b))
                 Console.WriteLine("This line may or may not print")
             " most derived exception type first
             Catch e As System.DivideByZeroException
                 Console.WriteLine( _
                   "DivideByZeroException! Msg: {0}", e.Message)
                 Console.WriteLine( _
                    "Helplink: {0}", e.HelpLink)
                 Console.WriteLine( _
                     "Stack trace: {0}", e.StackTrace)
             Catch
                 Console.WriteLine("Unknown exception caught!")
             Finally
                 Console.WriteLine("Close file here.")
             End Try
         End Sub "Main
         Shared Public Function DoDivide(ByVal a As Double, ByVal b As Double) As Double
             If b = 0 Then
                 Throw New System.DivideByZeroException(  )
             End If
             If a = 0 Then
                 Throw New System.ArithmeticException(  )
             End If
             Return a / b
         End Function
   
End Class


Exception Information

Imports System
Public Class MainClass
    
    Shared Sub Main(ByVal args As String())
        Try
            CalculateValue()
        Catch ex As Exception
            Console.WriteLine( "ex.Message:" & ex.Message )
            Console.WriteLine( "ex.StackTrace:" & ex.StackTrace )
            Console.WriteLine( "ex.ToString:" & ex.ToString )
        End Try
    End Sub
    
    Shared Private Function CalculateValue() As Integer
        Return 1 \ Integer.Parse("0")
    End Function
End Class