-3

please is there any way to ensure that all the code in a c# try code block executes or fails completely.

4

2 回答 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 回答