默认异常处理程序体

时间:2016-02-23 18:33:38

标签: c# exception exception-handling console-application tostring

我有一个自定义异常类,继承自Exception和一个抛出异常的控制台应用程序。我的自定义异常会覆盖ToString()方法,但是当抛出异常时,消息和堆栈跟踪会打印到控制台,但是似乎没有调用被覆盖的ToString()方法。

我知道如何创建默认异常处理程序(.NET Global exception handler in console application)。但是,如果未指定自定义应用程序,则控制台应用程序的默认处理程序的主体是什么?

1 个答案:

答案 0 :(得分:0)

我不确定您希望通过覆盖Message方法实现什么,但如果您尝试设置自定义消息,我建议您使用构造函数:

public class CustomException : Exception 
{
    public override string Message
    {
        get
        {
            return "Something bad happened";
        }
    }
}

或覆盖UnhandledException event属性:

CLR

回答关于{{1}}的问题 - 我认为当找到特定域的未处理异常时,处理程序在{{1}}级别启动,因此很难查看是否有默认处理程序。我想即使有那些也没有意义。