好的,所以我遇到了这个奇怪的问题,我已经在 Google 上搜索了很多次以寻找答案,但无济于事……无论如何,我遇到了这个问题,我似乎无法让我的程序在何时向我显示错误消息我想。这种情况发生过很多次,最终发现它是一个为空的变量,但由于某种原因没有引发错误?
这是我刚刚拥有的一个示例。
人员单击一个按钮以显示一个名为 debug 的新表单。
Debug debug = new Debug();
debug.Show(this);
这是我的调试形式。
public new void Show(IWin32Window owner)
{
base.Show(owner);
Parent.Move += new EventHandler(delegate(object sender, EventArgs e)
{
Location = new Point(Parent.Location.X + Parent.Width, Parent.Location.Y);
});
}
长话短说,代码不起作用,因为 Parent 为空,但它甚至从未暗示这是问题所在。
我确信有一些解释,但我还没有在我的谷歌搜索中找到一个......
最佳答案
您还可以在 Visual Studio 中尝试以下操作:
现在,只要抛出 NullReferenceException,它就会导致调试器中断。
我猜您的应用程序被包装在 try{} catch{} 中,或者,在调用堆栈底部的某个位置导致调用 debug.Show(),代码被包装在 try{} catch{}
关于c# - 我不能让空值使我的 C# 程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10751888/