如何扩展异常以返回指定的错误代码以及通常的消息
本文关键字:错误代码 消息 返回 何扩展 扩展 异常 | 更新日期: 2023-09-27 18:19:19
当我抛出或捕获任何类型的异常时,我希望指定一个错误代码,以便能够做以下事情:
Writeline(ex.Source + ex.Message + ex.Code);
你能给我指个路或提个建议吗?谢谢大家
你有两个选择:
1)如果你抛出自己的异常,你可以从异常类继承,并添加任何你想要的属性。
2)你可以添加名称/值对到任何异常的数据字典。
从MSDN文档中,添加信息到Data:
try
{
// do something
}
catch (Exception e)
{
e.Data["ExtraInfo"] = "Information from NestedRoutine1.";
e.Data.Add("MoreExtraInfo", "More information from NestedRoutine1.");
throw e;
}
和使用该信息:
if (e.Data != null)
{
Console.WriteLine(" Extra details:");
foreach (DictionaryEntry de in e.Data)
Console.WriteLine(" The key is '{0}' and the value is: {1}", de.Key, de.Value);
}
Exception
类为需要存储在Exception
实例中的任何自定义数据定义了一个键/值字典-参见Exception.Data
属性。