問題タブ [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.
c# - finally ブロックでスローされた例外を取得する
現在スローされている例外を取得する方法はありますか (存在する場合)?
コードの量を減らして、タスクの再利用を次のように適用したいと思います。
それを次のコードに置き換えます。
このシナリオは可能ですか?
ありがとう
java - 複数の戻り値: 最終的な戻り値を設定するのはどれですか?
このコードを考えると:
言語仕様は への呼び出しの戻り値を定義していtest()
ますか? 言い換えれば、すべての JVM で常に同じですか?
Sun JVM では戻り値は ですが2
、これは VM に依存しないことを確認したいと思います。
java - 最後に例外処理
finally
例外処理のブロックは正確に何を実行しますか?
c# - finallyブロック内からの例外
LockDevice()が失敗し、独自に例外をスローする可能性がある次のコードについて考えてみます。finallyブロック内から例外が発生した場合、C#ではどうなりますか?
java - Java try finally バリエーション
この質問はしばらくの間私を悩ませますが、まだ完全な答えは見つかりませんでした (たとえば、これは C# の外部または内部の使い捨てリソースを try/finally で初期化するためのものです)。次の 2 つの Java コード フラグメントを検討してください。
そして第二のバリエーション
私が心配しているのは、リソースが取得された瞬間 (ファイルが開かれたときなど) にスレッドが多少中断される可能性があることですが、結果の値はそれぞれのローカル変数に割り当てられません。上記の点でスレッドが中断される可能性があるシナリオは他にありますか?
- InterruptedException (例: Thread#interrupt() 経由) または OutOfMemoryError 例外がスローされる
- JVM の終了 (例: kill、System.exit() 経由)
- ハードウェア障害 (または完全なリストについては JVM のバグ :)
2番目のアプローチはやや「慣用的」であると読みましたが、上記のシナリオではIMOに違いはなく、他のすべてのシナリオでは同等です。
だから質問:
2つの違いは何ですか?リソースの解放を懸念している場合 (特にマルチスレッド アプリケーションの場合)、どちらを選択する必要がありますか? なんで?
回答をサポートする Java/JVM 仕様の一部を教えていただければ幸いです。
java - 最後に戻って
重複の可能性:
Javaでは、最終的にトランプを返しますか?
以下の例では、
出力は次のとおりです。
catchのreturnステートメントにもかかわらずFinallyが出力されるのはどうしてですか?
java - 最終ブロックで参照= nullを設定しますか?
私の同僚はnull
、finally ブロックで参照を設定します。これはナンセンスだと思います。
どう思いますか?
java - Javaでfinallyブロックする要点は何ですか?
私は次の例について考えます。しかし、finallyブロックの重要性を理解できませんでした。これら2つのコードサンプルの実行の違いを教えてください。また、実際の例も役立ちます。
サンプル1:
サンプル2:
java - 'finally' ブロックを理解する
finally
ブロックの動作を理解するために、7 つのテスト ケースを作成しました。どのようにfinally
機能するかの背後にあるロジックは何ですか?
なぜbuilder = null
機能しないのですか?
( in builder.append("+1")
trySeven ()) が機能しないのになぜ機能するのですか?count++
c# - 例外がスローされたためにfinallyブロックで実行されているかどうかを判断します
finally
例外がスローされた結果として、コードがハンドラーのコンテキストで現在実行されているかどうかを判断することは可能ですか?私はこのIDisposable
パターンを使用して入口/出口のスコーピング機能を実装するのが好きですが、このパターンに関する1つの懸念は、の本体で例外が発生した場合にスコープの終わりの動作を必ずしも発生させたくない場合があることですusing
。私はこのようなものを探しているでしょう:
これを実現する方法は他にもありますが(特定の動作で呼び出しを囲む関数にデリゲートを渡す)、IDisposable
パターンを使用してそれを実行できるかどうか知りたいです。
実際、これは明らかにここの前に尋ねられ、答えられました。非常にハック的な方法で検出することが可能です。私は実際にはそのテクニックを使用しませんが、それが可能であることを知るのは興味深いことです。