try
ブロック内でオブジェクト変数を代入できないのはなぜですか?
これを実行してブロック内の変数をクリーンアップしようとすると、「割り当てられていないローカル変数の使用」finally
というコンパイラ エラーが発生します。変数はブロックの前に宣言されているため、これは意味がありません。ブロックでは、最初に変数が であるかどうかを確認しています。try
finally
null
次のコードがコンパイルできないのはなぜですか? 割り当てられていない変数で何かをしようとする可能性がないdbc
かどうかを確認しています。null
例えば:
DbConnection dbc;
try {
dbc = <some method call returning an open DbConnection>
// do stuff
} catch (Exception e) { // do stuff }
finally {
if (dbc != null) {
dbc.Close();
}
}