C# 是否具有与 Java 的java.lang.RuntimeException等效的功能?
(IE 一个不需要被捕获就可以抛出的异常,或者抛出异常时程序崩溃。)
C# 是否具有与 Java 的java.lang.RuntimeException等效的功能?
(IE 一个不需要被捕获就可以抛出的异常,或者抛出异常时程序崩溃。)
SystemException 是等价的,它是 .NET 代码可以引发的所有异常的基类。与应用程序异常相反。
然而,从评论中听起来你想捕捉这个异常。在这种情况下,你永远不应该使用 SystemException,你会捕获太多。创建自己的异常类,从 Exception 派生。
.NET 中没有异常规范,以防万一这就是您所追求的。
在 .NET 中,如果发生未处理的异常,程序流程将失败;Windows 应用程序将放弃,而 ASP.NET 应用程序将一直冒泡到 Global.asax 的 Application_Error 处理程序。
在这方面,没有。但是,也许您可以包含一个您正在尝试做的事情的示例,我们可以提供有关模式或方法的建议,以便为您提供解决方案。
我认为不会。但是,你为什么想要一个?最有可能的是,您可以使用 .NET 系统的其他部分来实现您的目标。
.NET 没有完全类似的东西,但您可以在某种程度上模拟它。您可以,但很多人不建议,将应用程序的入口点包装在一个 try/catch 中,然后捕获您正在寻找的异常,然后吞下它。如果有更近的东西抓住它,那就太好了。
这是以某些方式构建的,例如DispatcherUnhandledException
WPF 中的事件;您可以处理该事件,并设置DispatcherUnhandledExceptionEventArgs.Handled = true
以保持应用程序运行。
一般来说,我不推荐这种模式。改为使用Trace.WriteLine
,如果需要,编写一个 Trace 侦听器。记住:例外是例外。发生了一些不寻常的事情,这意味着停止应用程序比继续处于不可预测的状态要好。