有没有更好的方法让visual studio在调试模式下忽略try/catch

5 vb.net debugging if-statement ignore try-catch

我希望设计人员在调试时捕获错误,并且我希望用户在发生错误时看到我的友好消息.我知道我可以通过以下方式实现这一目标:

#If Debug=False Then

Try

#End If

'some code here

#If Debug=False Then

Catch ex as exception

    Messagebox.Show("Errors suck")

End Try

#End If
Run Code Online (Sandbox Code Playgroud)

我不想写所有#statements并让它们混乱我的代码.看起来这应该是一个共同的需求,必须有一个更好的方法.有谁知道更好的方法?

Mar*_*eck 16

在VS.NET中,您可以说当抛出异常时是否希望调试器中断(而不仅仅是在未处理时).

查看Debug | 例外...菜单项(键盘快捷键上的Ctl-Alt-E).选择您感兴趣的例外情况,然后勾选该例外的"抛出"框.

您可以在多个级别勾选该框(所有CLR异常,给定命名空间中的所有CLR异常或非常特定的异常)


Nat*_*ate 0

在 Try..Catch 的 catch 部分中,您应该将异常消息、堆栈跟踪以及您可能想要的任何其他内容写入日志文件 - 另外,您也可以将该数据写入 Windows 事件日志。

在最坏的情况下,您可以将断点放在 Try..Catch 块的 Catch 部分中,因为您通常不应该击中它们,一旦设置就不会有什么大问题。