存在异常的继承异常

时间:2016-04-03 17:05:29

标签: c# oop exception inheritance

我有一些抛出异常的函数。我希望捕获它们的代码块也基于抛出的异常抛出异常,但是有更多参数,如ID和Note。我怎么能这样做?

如果任何人能给我一个方向,那就太好了!

谢谢(抱歉我的英文......)

我想要的示例(我知道这不是有效的代码......)

catch (Exception e)
{
    LogException l=e;
    l.Note = "note...";
    l.ID = 12;
    throw l;
}

2 个答案:

答案 0 :(得分:2)

您需要定义具有这些额外属性的自己的异常(继承自Exception)。请参阅此处了解自定义异常应采用的基本格式 https://msdn.microsoft.com/en-us/library/ms229064(v=vs.100).aspx (请注意,您应该将异常序列化。)您只需添加额外的属性。

一旦你创建了异常类(在你的情况下是LogException),那么上面的代码就可以了。

答案 1 :(得分:1)

试试这个。

try
{
    //....kaboom
}
catch (Exception ex)
{
    var newEX= new Exception("custom message", ex);
    newEX.Data.Add("any key",  "any obj");
    throw newEX;
}