問題タブ [finally]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
4479 参照

c# - try/catch/finally ブロックで使用される変数をどのように初期化すればよいですか?

try/catch/finally ブロックを使用している場合、変数をどこでどのように初期化すればよいですか? たとえば、 FileStream を使用しようとしているとします。ストリームの作成中または使用中にスローされた例外をキャッチしたいと考えています。次に、問題があったかどうかに関係なく、作成されたストリームが閉じていることを確認したいと思います。

だから私はこのようなことをします:

ただし、これにより、finally ブロックでエラーが発生しますunassigned local variable fs。それでも、の宣言を変更fsするSystem.IO.FileStream fs = nullと機能します。

fs明示的に nullに設定する必要があるのはなぜですか? また、try ブロックで宣言しようとしましたが、finally ブロックfsでエラーが発生します。The name fs does not exsist in the current context

ところで: Using ブロックを使用できることはわかっていますが、私の質問のポイントは、try/catch/finally ブロックの正しい使用法を理解することです。

0 投票する
1 に答える
8498 参照

.net - ThreadInterruptedException を適切に処理するには?

メソッドthreadMethodはSystem.Threading.Threadを介して実行されます。スレッドはいつでも中断される可能性があるため、例外ThreadInterruptedExceptionが finally ブロックでスローされる可能性がありますよね? ブロックを最後に try-catch で再度囲む必要がありますか?

ありがとう!

0 投票する
3 に答える
133 参照

.net - コードが例外ハンドラから呼び出されたかどうかを判断する (ステートメントを使用)?

ちょっとばかげたことをしたい。オブジェクトのDispose()メソッドで、オブジェクトのデバッグ トレースを出力して、オブジェクトが生きている間に発生したすべてのイベントを通知したいと考えています。

Dispose()しかし、これには時間とお金がかかるため、例外がスローされたために が呼び出された場合にのみ実行したいと考えています。

だから私はしたいです

.NET には、クエリできる exceptionIsCurrentlyRaised プロパティがありますか?

0 投票する
11 に答える
20533 参照

java - なぜfinallyブロックを使用するのですか?

私の知る限り、次のコードスニペットはどちらも同じ目的を果たします。なぜfinallyブロックがあるのですか?

コードA:

コードB:

0 投票する
5 に答える
1555 参照

c# - finally doesn't seem to execute in C# console application while using F5

The finally block does not seem to execute when pressing F5 in VS2008. I am using this code in Console Application.

0 投票する
4 に答える
1547 参照

java - try\finally ブロックで finally が実行されない場合はありますか?

私はオブジェクト指向プログラミングのテストのために勉強していますが、次のコードを考慮すると、何か問題があるかどうか疑問に思っていました:

finallyブロックは実行されませんか?

0 投票する
2 に答える
4009 参照

c# - リソースが確実に破棄されるように、Marshal.FreeHGlobal を finally ブロックに配置する必要がありますか?

次のコードブロックがあります。

ブロックを try でラップし、FreeHGlobal コマンドを finally ブロックに配置する必要があります。(中間コマンドが例外をスローした場合)。

この場合、最終的にメモリリークを防ぐのは理にかなっているようですが、オンラインで見つけた例から、最終的には使用されていません。いずれにせよ、リソースは自動的に破棄される可能性があります (管理されていない場合でも)。

0 投票する
4 に答える
89891 参照

python - try-exceptブロックでpython "with"ステートメントを使用する

これは、python の "with" ステートメントを try-except ブロックと組み合わせて使用​​する正しい方法ですか?:

もしそうなら、物事を行う古い方法を考慮してください:

ここでの "with" ステートメントの主な利点は、3 行のコードを削除できることですか? この使用例については、私には説得力がないように思えます(ただし、「with」ステートメントには他の用途があることは理解しています)。

編集: 上記の 2 つのコード ブロックの機能は同じですか?

EDIT2:最初のいくつかの回答は、「with」を使用する利点について一般的に語っていますが、ここではわずかな利点のようです。私たちは皆、何年も f.close() を明示的に呼び出してきました (またはそうすべきでした)。ずさんなコーダーが「with」を使用することで恩恵を受けるという利点があると思います。

0 投票する
6 に答える
297 参照

c# - 最後に:どのような場合でも呼び出されることが保証されていますか

finally呼び出されないが、アプリケーションがまだ実行されている可能性はわずかでもありますか?

そこでセマフォを解放しています

それらのいくつかを失うことを恐れています。

0 投票する
3 に答える
442 参照

java - ブロックキャッチでの損失例外

私はこのコードを実行します:

結果:
try:1
catch:2
finally:3
スレッド"main"の例外java.lang.NullPointerExceptionat user.main(User.java:17)

ブロックキャッチ内-ArrayIndexOutOfBoundsExceptionですが、この例外が失われるのはなぜですか?