我有一个代码如下:
public partical class frmXXX : Form
{
SomeObject foo = null;
public void XYZ()
{
foo.ABC.DEF(foo.XXX, foo.YYY, foo.ZZZ);
somethingElse();
}
...
}
似乎我有一个错误,当XYZ()
为空时,我调用了foo
。该程序在客户遇到NullReferenceException崩溃,这是我所期望的。但是,在我的开发机器上,我没有得到异常。我还用调试器验证了foo实际上是null。调试器说它是null。
调用null对象后,该方法将结束,因此不会调用somethingElse();
。这就像一个无声的例外。我的开发机器是否有可能被错误配置,或者我是否启用了某些东西?
答案 0 :(得分:2)
Cntrl + Alt + E (或调试 - >例外或VS2017 调试 - > Windows - >例外设置) 选择全部重置,这将返回默认例外。
还要确保选中仅我的代码。你可以在调试 - >下找到它。选项。这将带您进入调试器 - >一般选项。在这里,您可以查看仅我的代码。
答案 1 :(得分:0)
你是否尝试将TryCatch放到这个:
public void XYZ()
{
///try here
{
foo.ABC.DEF(foo.XXX, foo.YYY, foo.ZZZ);
}
///catch
{
return error here................
}
somethingElse();
}
答案 2 :(得分:0)
您可以将异常设置设置为非默认设置。 here是指向如何恢复默认设置以及如何根据需要调整设置的有用链接。
您可以使用 Ctrl + Alt + E 在2015 - 2017年
上检查您的设置