.NET中的错误处理
2020-12-10 00:47
标签:des style blog http 使用 os 与VB相比,VB.NET在错误处理上也有了很大的改进,下面来谈一谈异常处理和及其用 于捕捉错误的有效的编程方法。 On Error语句 VB.NET仍然包含了VB中的On Error语句,当考虑全局错误处理的时候,可以采用这种 方法。下面是实例 在学习VB的时候,经常用到这种处理错误机制,接下来谈一下VB.NET新引出的异常处 理机制 Try...Catch...Finally Try语句块:放在代码块前面 Catch语句块:用来指定应查找什么类型的错误,捕捉错误类型 Finally代码块:必须执行,包含清理异常情况的例程 Demo 在此Demo中运用两个Catch,第一个捕获指定的错误,另外一个可以捕获到其他类型 的错误。 我们在捕捉错误的时候,用到的是Exception类,下面就略谈一下,有关此类的方法 和属性。先看下面图片
以上就是有关Exception类的属性和方法,下面找几个小例子来示范一下。 Source和StackTrace属性 Source:一个包含产生错误的对象名称的字符串 StackTrace:以文本字符串的形式保存堆跟踪 Demo GetType和ToString方法 可以返回更有价值的信息,以及这些信息是怎样和何时产生的。 GetType:返回已发生的错误类型的附加信息 ToString:返回与错误有关的相关信息 Demo 以上就是我们在做异常处理时,经常用到的方法。如果放任错误的话,那么软件使用 起来就会使用后很迷茫,所以对于软件要做好错误预处理相关机制。
.NET中的错误处理,搜素材,soscw.com .NET中的错误处理 标签:des style blog http 使用 os 原文地址:http://blog.csdn.net/luckyzhoustar/article/details/24789417 On Error GoTo errorhandler
Dim intx As Integer
Dim intz As Integer
Dim inty As Integer
inty = 0
intx = 5
intz = CType(intx / inty, Integer)
Exit Sub
errorhandler:
MessageBox.Show(Err.Description)
Dim intx As Integer
Dim inty As Integer
Dim intz As Integer
inty = 0
intz = 5
Try
intz = CType((intx / inty), Integer)
Catch objA As System.OverflowException
MessageBox.Show("catch the divide by zero error")
If inty = 0 Then
‘可以强制退出Try语句
Exit Try
Else
MessageBox.Show("error not divide by 0")
End If
Catch
MessageBox.Show("catch any other errors")
Finally
MessageBox.Show(Str(intz))
End Try
Dim intx As Integer
Dim inty As Integer
Dim intz As Integer
inty = 0
intx = 5
Try
intz = CType((intx / inty), Integer)
Catch objA As System.OverflowException
‘导致错误发生的事件名称
objA.Source = "Button3_Click"
‘显示错误发生的详细信息
MessageBox.Show("错误发生在" & _
objA.Source & objA.StackTrace)
Finally
MessageBox.Show(Str(intz))
End Try
Dim intx As Integer
Dim intz As Integer
Dim inty As Integer
inty = 0
intx = 5
Try
intz = CType((intx / inty), Integer)
Catch objA As System.OverflowException
‘返回错误的标识
MessageBox.Show(objA.GetType.FullName)
MessageBox.Show(objA.GetType.BaseType.FullName)
‘返回错误发生的位置
MessageBox.Show(objA.ToString)
Finally
MessageBox.Show(Str(intz))
End Try