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