我在C#代码中有一个函数,在该函数中会定期抛出NullReferenceException(预期的行为),但会被捕获。有没有一种方法可以告诉Visual Studio调试器不要在我的代码的此特定部分的此异常上中断?
编辑我需要在代码的其他地方打破这个异常,但是不要在同一个函数中。
最佳答案
如果我理解正确,并且您要尝试调试一些NullReferenceException,但希望在调试时暂时忽略其他异常,则可以通过使用DebuggerNonUserCode属性标记希望调试器忽略的函数来实现此目的。
[DebuggerNonUserCode]
private void MyMethod()
{
// NullReferenceException exceptions caught in this method will
// not cause the Debugger to stop here..
}
注意,这仅在所述方法中捕获了异常时才有效。只是如果您将调试器设置为始终在
NullReferenceException
异常时中断,它们就不会导致调试器中断。而且这仅适用于方法,而不适用于方法内部的任意代码段。关于c# - 有选择地忽略C#代码中引发的异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15275139/