【问题标题】:Visual Studio Debug Mode, Allow Exception to Kill the ProgramVisual Studio 调试模式,允许异常杀死程序
【发布时间】:2011-10-06 02:41:22
【问题描述】:

我有一段 C# 代码,基本上类似于以下内容...

WriteFile();
try {
    RunTest();
} finally {
    DeleteFile();
}

现在已经计划好了,即使发生故障,它也会清理它留下的文件。这在未在调试模式下运行时有效(尽管它会弹出一条消息,询问我是要调试程序还是关闭它。关闭它会产生适当的结果)。

当我在调试模式下运行它并在 RunTest 中遇到异常时,我似乎只有两个选择。在第一个中,我告诉调试停止。这相当于杀死程序并且finally 中的块不运行(因此文件不会像应有的那样被删除)。如果我告诉它继续,它不会向上传播异常,而是只会在其他地方遇到异常。

在遇到异常后,有没有办法让调试模式像正常程序一样继续?

【问题讨论】:

    标签: visual-studio exception-handling


    【解决方案1】:

    从“调试”菜单中,选择“例外”(或使用 Ctrl + Alt + E)。这将打开一个对话框,您可以在其中取消选中“用户未处理”列中的相应复选框,以查看您在调试时不想停止的异常。 我相信这将使异常传播正常工作。而且您仍然可以在 try 或 finally 块中设置断点以查看发生了什么。

    【讨论】:

      【解决方案2】:

      如果设置了任何异常,请检查 Debug/Exceptions。

      另一种选择是处理事件 Application.ThreadException(Windows 窗体)或 Application.UnhandledException(Silverlight 等),并根据异常的严重性告诉应用程序继续或退出。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多