-3

c# try コード ブロック内のすべてのコードが完全に実行または失敗することを確認する方法はありますか。

4

2 に答える 2

2

コードをトランザクション対応にする限り、tryブロック内のすべてが一緒に実行されることを確認する方法はありません。

代わりに、catchブロックで何らかの方法で状態を復元するか、変更をロールバックする必要があります。

重要なものはすべてメモリ (または、アプリケーションが完全にダウンすることが心配な場合はディスク) に保存してから、catch ステートメントで状態情報を復元することをお勧めします。

于 2012-11-21T15:28:45.347 に答える
0

私の推測では、tryブロック内で複数のことが起こっています。何かのようなもの:

try
{
     Func1();
     Func2();
}

さて、この例では、両方の関数を成功または失敗させたいと考えています。したがって、Func1()失敗した場合でも、 を呼び出す必要がありますFunc2()。問題は、Func1()失敗した場合、ブロックが失敗することです。それを回避する方法はありません。そして、最初の部分が失敗した場合、続行しても意味がないため、Func2()呼び出されることさえありません。これが実際に当てはまる場合は、ifステートメントまたはtry catchfor each 関数を使用する必要があります。

于 2012-11-21T15:42:09.217 に答える