C# 存在异常时的继承异常
我有一些抛出异常的函数。我希望捕获它们的代码块也会根据抛出的异常抛出异常,但要有更多的参数,如ID和Note。我该怎么做 如果有人能给我一个方向,那就好了 谢谢(对不起我的英语…) 我想要的示例(我知道代码无效…)C# 存在异常时的继承异常,c#,oop,exception,inheritance,C#,Oop,Exception,Inheritance,我有一些抛出异常的函数。我希望捕获它们的代码块也会根据抛出的异常抛出异常,但要有更多的参数,如ID和Note。我该怎么做 如果有人能给我一个方向,那就好了 谢谢(对不起我的英语…) 我想要的示例(我知道代码无效…) 您需要定义自己的异常(继承自异常),该异常具有这些额外属性。有关自定义异常应采用的基本格式,请参见此处 (注意,应该使异常可序列化。)只需添加额外的属性 一旦创建了exception类(在您的例子中是LogException),那么上面的代码就可以工作了。试试这个 try {
您需要定义自己的异常(继承自异常),该异常具有这些额外属性。有关自定义异常应采用的基本格式,请参见此处 (注意,应该使异常可序列化。)只需添加额外的属性 一旦创建了exception类(在您的例子中是LogException),那么上面的代码就可以工作了。试试这个
try
{
//....kaboom
}
catch (Exception ex)
{
var newEX= new Exception("custom message", ex);
newEX.Data.Add("any key", "any obj");
throw newEX;
}
构建一个包含所有参数的“State”类。然后将该类传递给异常处理程序。变量“e”可以包含一个类。为什么不首先抛出一个
LogException
?DarrenYoung不是我总是抛出异常的代码,因为我不能完全控制异常类型这是更好的答案,除了您应该创建自己的异常类型而不是抛出异常之外。您可能希望编写自己的顶级处理程序,递归地处理所有内部异常,并编译所有要记录的消息和堆栈跟踪的漂亮列表。您不应该将其称为LogException,异常名称应该说明有关问题的一些信息,而不是当您捕获它时您可能想要对其执行的操作。
try
{
//....kaboom
}
catch (Exception ex)
{
var newEX= new Exception("custom message", ex);
newEX.Data.Add("any key", "any obj");
throw newEX;
}