确定哪个代码行引发了异常

Mat*_*att 6 c# stack exception stack-frame

在dotNet中,一行引发异常并被捕获,如何确定哪个文件在哪个行引发了异常?看起来相对简单,但我无法弄明白......

Meh*_*ari 6

只有在有可用的调试符号时才能执行此操作.

catch(Exception ex) {
    // check the ex.StackTrace property
}
Run Code Online (Sandbox Code Playgroud)

如果要在VS中调试这种情况,最好只选中菜单中对话框中的Thrown复选框.一旦抛出异常,调试器就会中断,即使它在一个块中.Common Language Runtime ExceptionsExceptionsDebugtry