以下代码生成dy/dx
,但未被try块捕获(在NullReferenceException
和Debug
模式下):
Release
相反,程序会中断并突出显示违规行:
为什么吗
更新:Scott建议的异常的文本表示:
using System;
namespace ExceptionTest {
public class Program {
public static void Main(string[] args) {
String text = null;
try {
if (text.Equals("t1")) {
Console.WriteLine("r1");
} else {
Console.WriteLine("r2");
}
} catch(Exception ex) {
Console.WriteLine("Exception catched!");
}
}
}
}
答案 0 :(得分:3)
在例外设置下的示例图像上:转动复选框。
通过这样做,当抛出空引用异常时它不会中断。并且catch将捕获异常。
答案 1 :(得分:3)
这是因为您已选中此框
这会使你的调试器在到达catch块之前中断,如果你点击继续,你会看到它继续进入catch。如果取消选中此框,则可以通过Debug -> Windows -> Exception Settings
下拉菜单中的“例外设置”窗口重新启用该框。 “公共语言运行时例外”部分包含NullRefrenceException
选项。
答案 2 :(得分:2)
如果您使用的是Visual Studio 2015:
调试 - > Windows->例外设置
搜索NullReferenceException,取消选中。