c# - 我不能让空值使我的 C# 程序崩溃?

标签 c# crash null

好的,所以我遇到了这个奇怪的问题,我已经在 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 中尝试以下操作:

  • 调试 > 异常
  • 展开“公共(public)语言运行时异常”条目
  • 展开“系统”条目
  • 单击 System.NullReferenceException
  • 的复选框
  • 点击确定
  • 运行附加了调试器的应用程序。

  • 现在,只要抛出 NullReferenceException,它就会导致调试器中断。

    我猜您的应用程序被包装在 try{} catch{} 中,或者,在调用堆栈底部的某个位置导致调用 debug.Show(),代码被包装在 try{} catch{}

    关于c# - 我不能让空值使我的 C# 程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10751888/

    相关文章:

    c# - 升级到 VS 2017 15.6.0,现在 Directory.GetCurrentDirectory() 返回\bin\Debug\netcoreapp2.0

    c# - 如何在 System.Text.RegularExpressions.Regex 中查找整数或小数

    c# - 方法返回不同的字符串第二次调用 - 参数相同

    c# - 根据选中的复选框过滤模型

    linux - JsTestDriver 火狐浏览器崩溃

    python - pip.exe 和其他程序在启动时关闭

    Java:异常本身为空

    c# - 访问空值会导致应用程序失败/C#

    iPhone随机崩溃问题

    c# - 可空类型 : better way to check for null or zero in c#