一般来说,我想编写一个代码来调用一个可能引发异常的类的 Execute 函数。我的问题是我应该设置这个类,我应该在 try/catch 或外部从中提取值吗?
选项 A:
neededValue V;
try
{
MyClass C = new MyClass();
C.SomeParam = XXX;
C.Execute();
V = C.SomeParam2;
}
catch
{
//Clean up...
//Log...
//Throw new exception
}
选项 B:
neededValue V;
MyClass C = new MyClass();
C.SomeParam = XXX;
try
{
C.Execute();
}
catch
{
//Clean up...
//Log...
//Throw new exception
}
V = C.SomeParam2;
我知道两者都可以,但哪个更好、更容易阅读?
最佳答案
嘿,它们不是一回事,在第一种情况下,V = C.SomeParam2;
永远不会在异常情况下执行,而在第二种情况下,它将始终执行。
不仅如此,您使用 catch block 的示例严重错误,始终将异常对象放在 catch 之后,并使用日志记录框架在某处记录发生的事情,然后在出现以下情况时使用react并处理异常你可以,并且只有当它有意义时,或者抛出它或者根本不捕获它,你的调用代码就会捕获它。
关于c# - 尝试/捕捉 - "Code style"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7496087/