Java でコードをロールバックできる回避策はありますか?
たとえば、以下のコードを出力したいのですi = 1
が、そうではありません2
:(例外が発生した場合)
int i = 1;
try {
i = 2;
int j = 10/0;
} catch (Exception ex) {}
System.out.print("i = " + i);
このロジックがプログラマーにとって実質的に役に立たないとは思いません。そして、これはコンパイラにとって非常に扱いにくいとは思いません。
たとえば、メモリに一時的に保存され、例外が発生した後、その値がではなく にi = 1
ロールバックされる可能性があります。(たとえば、ロールバック/キャッチがあればもっと良いでしょう)1
2