C# 默认异常处理程序体

C# 默认异常处理程序体,c#,exception,exception-handling,console-application,tostring,C#,Exception,Exception Handling,Console Application,Tostring,我有一个自定义异常类,继承自exception,还有一个抛出异常的控制台应用程序。我的自定义异常覆盖了ToString()方法,但是当抛出异常时,消息和堆栈跟踪会打印到控制台,但是覆盖的ToString()方法似乎没有被调用 我知道如何创建默认的异常处理程序()。但是,如果未指定自定义处理程序,控制台应用程序的默认处理程序的主体是什么?我不确定通过重写.ToString()方法来实现什么,但是如果您试图设置自定义消息,我建议使用构造函数: public class CustomException

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


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

我不确定通过重写
.ToString()
方法来实现什么,但是如果您试图设置自定义消息,我建议使用构造函数:

public class CustomException : Exception 
{
    public CustomException(string message) : base(message)
    {

    }
}
或覆盖
消息
属性:

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

回答关于
未处理异常事件的问题
-我认为当为特定域找到未处理的异常时,处理程序在
CLR
级别启动,因此很难查看它是否有默认处理程序。我想这些都没有意义。

我不确定通过重写
.ToString()
方法来实现什么,但是如果您试图设置自定义消息,我建议使用构造函数:

public class CustomException : Exception 
{
    public CustomException(string message) : base(message)
    {

    }
}
或覆盖
消息
属性:

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

回答关于
未处理异常事件的问题
-我认为当为特定域找到未处理的异常时,处理程序在
CLR
级别启动,因此很难查看它是否有默认处理程序。我想这些都没有意义。

你能把你的代码显示在捕获未处理异常的地方吗?你能把你的代码显示在捕获未处理异常的地方吗?