gpt4 book ai didi

C#:如果没有捕获异常会发生什么

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:43 24 4
gpt4 key购买 nike

如果未捕获到异常,C# 程序中会发生什么情况。程序是否因运行时错误而“崩溃”?

最佳答案

What happens in a C# program if an exception is not caught. Does the program 'crash' with something like a run-time error?

也许。

也许不是。

发生的事情是实现定义的

例如,您可能会看到一个对话框,内容为“出现未处理的异常,我看到您安装了 Visual Studio。是否要启动调试器并检查程序状态?”

您可能会看到一个对话框,内容为“有一个未处理的异常,您要将此报告给 Microsoft 吗?”

如果您已经在调试器中运行,调试器可能会做一些事情来引起您的注意。

运行时可以做任何它想做的事,包括询问你要做什么。

请注意,运行时知道在 finally block 运行之前是否会有 catch block 。您可以使用控制台应用程序轻松演示这一点。编写一个崩溃的应用程序,并在 finally block 中输出:

Unhandled Exception: System.Exception: Exception of type 
'System.Exception' was thrown at
ConsoleApplication1.Program.Main(String[] args)
finally running now

看看会发生什么?运行时报告错误,让调试器有机会运行,或者向 Microsoft 报告问题,或者在它运行 finally block 之前。如果他们跑了。他们可能不会。 任何事情都可能发生。用户可以决定销毁进程,或启动调试器并修复异常,或其他任何方式。

如果您真的想了解异常在 C# 中的工作原理,您应该阅读以下内容:

http://blogs.msdn.com/b/cbrumme/archive/2003/10/01/51524.aspx

关于C#:如果没有捕获异常会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com