【发布时间】:2012-05-05 22:31:57
【问题描述】:
我在一些偶尔抛出预期异常的代码周围放置了一个 try/catch 块,但它没有捕获它并显示消息框,而是停止调试器并提醒我该异常未处理。
如何处理此异常,以使我的代码在异常发生时不会停止?
Friend myDevInfo As New devInfo
''' <summary>
''' Closes the device handle obtained with CreateFile and frees resources.
''' </summary>
'''
Friend Sub CloseDeviceHandle()
Try
WinUsb_Free(myDevInfo.winUsbHandle)
If Not (myDevInfo.deviceHandle Is Nothing) Then
If Not (myDevInfo.deviceHandle.IsInvalid) Then
myDevInfo.deviceHandle.Close()
End If
End If
Catch ex As System.AccessViolationException
MsgBox("System.AccessViolationException")
Catch ex As Exception
Throw
End Try
End Sub
【问题讨论】:
-
您是否已将 Debug -> Exceptions 配置为在出现异常时停止?
-
我相信默认设置是在
AccessViolationException上中断 -
您不应该尝试捕捉
AccessViolationException。您应该修复导致它的错误。永远不应出现此异常。 -
按 F5 即可到达 catch 块。
-
@CodeInChaos 就是,一般来说,是的。
标签: .net vb.net exception exception-handling