please is there any way to ensure that all the code in a c# try code block executes or fails completely.
问问题
137 次
2 回答
2
就使您的代码具有事务性而言,没有办法确保try
块内的所有内容都将一起执行。
相反,在您的catch
块中,您需要以某种方式恢复状态,或回滚更改。
我建议将任何重要的重要内容存储在内存(如果您担心应用程序完全关闭,则存储在磁盘上),然后在您的 catch 语句中恢复状态信息。
于 2012-11-21T15:28:45.347 回答
0
从我的猜测来看,你的try
街区里发生了很多事情。就像是:
try
{
Func1();
Func2();
}
现在,在此示例中,您希望两个函数都通过或失败。因此,如果Func1()
失败,您仍然希望它调用Func2()
. 问题是如果Func1()
失败,那么块就会失败。没有办法解决这个问题。如果第一部分失败,继续下去就没有意义了,所以Func2()
甚至不会被调用。如果确实如此,您将不得不使用一个if
语句,或者try catch
为每个函数使用一个。
于 2012-11-21T15:42:09.217 回答