是否有一个普通的Exception类,除了消息之外还需要一个int?

isp*_*iro 0 .net c# exception

我需要一个Exception既接收消息又int作为参数的类,而宁愿使用现有的类而不是创建我自己的自定义派生异常.

我一直在寻找一个,但它比我想象的更难.

有没有这样的(通常命名的)课程?

编辑

我打算抓住它并显示:"Error " + ex.Message + ex.Code.ToString();.

错误代码用于我不想向用户显示的消息.(用于调试的技术内容等.显示错误代码, 以便用户可以告诉我他得到了什么代码.)

我更喜欢现有Exception的原因是我希望在我的所有应用程序中都有统一的方法来处理异常,而不必每次都定义它们.

Hen*_*man 5

如前所述,最好的事情是为应用程序域创建一个或多个特殊的异常类.一个好的设计还包括优雅地分解的条款.

但是还有另一条路径,很少使用基本Exception类的Data属性.

它是一个字典,允许您将自定义数据添加到任何异常.拦截(捕获和重新抛出)异常并想要添加一些环境信息时很有用.

try 
{
    using (var reader = File.OpenText(fileName))
    { 
       ... 
    }
}
catch(Exception e)
{
   e.Data.Add("Filename", fileName);
   throw;
}
Run Code Online (Sandbox Code Playgroud)