問題タブ [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.
bash - Bash:最後に(試してみてください)例外
ユーザーがCTRL+Cを押して実行をキャンセルした場合でも、bashスクリプトの最後でいくつかのコマンドを実行したいと思います。
別のプログラミング言語(Pythonなど)内からbashスクリプトを実行できるので、「finally」(try-finally)ブロックを使用してコードを実行できます。
しかし、StackOverflowがすばらしいアイデアを交換するための中心であることを知っているので、bashスクリプト内からやりたいことを実行する方法があるかどうかを尋ねています。
それで、アイデア?
編集:
私が欲しいのは、bash内で開かれたすべてのプロセス、つまりセレンとXvfbプロセスを強制終了することです。
私はこれをコードに書いてみました:
しかし、これにより、スクリプト内からサブプロセスを実行するたびに、次のように「CTRL+C」を何度も押す必要があります。
次のように、トラップラインのファイナルをEXITからSIGINTに変更します。
同じことをします。
最初のCTRL+Cで何を終了しますか?
文字列の最後に「exit1」を追加しようとしたので、
trap "... ;exit 1"
最初のCTRL+Cで終了するように機能しましたが、必要なプロセスを強制終了しませんでした。
アイデア?
java - Java TryCatchFinallyはCatchなしでブロックします
私はいくつかの新しいコードをレビューしています。プログラムには、tryとfinallyブロックのみがあります。catchブロックは除外されているので、例外やスロー可能なものが発生した場合、tryブロックはどのように機能しますか?それはfinallyブロックに直接行くだけですか?
java - n層を処理する場合、コールスタックの上位で例外をキャッチしますか?
3 層の app-frontend ドメインとデータ アクセスがあるとします。コールスタックの上位にある例外をキャッチするのは良い考えだと読んだことがあります...したがって、データアクセス例外が発生した場合、ドメインレイヤーは単にfinallyを実行します。
試す{
}finally{ //クリーンアップ }
そして、データ アクセス例外をフロントエンド レイヤーに浸透させます。これは、フロントエンドのレイヤーが内部を処理するようにすることで、レイヤリングを壊しませんか? 各レイヤーは、呼び出し元のレイヤーに処理できない例外をハンドラーまたはラップしてスローする必要があると思います...何か考えはありますか?
java - finallyブロックでオブジェクト参照がnullに設定されました
なぜ出力はnullではなくCoolReturnなのですか?
よろしく、
マヘンドラアスネリア
java - コマンド ラインで Ctrl-C を入力した場合、Java の finally ブロックは引き続き実行されますか?
Windowsで Java アプリケーションを実行していcmd.exe
ます。Ctrl-C を押してプロセスを強制的に停止した場合、その時点でコードがtry
ブロックで実行されていましたが、finally
ブロックは引き続き実行されますか?
私のテストでは、はい、実行されているようです。
java - tryブロックに戻ったとしても、最終的にコードが実行されるのはなぜですか?
コード:
このコードはどのように実行されますか?
c# - 最後に必要なのはどこですか?
try-catch-finallyの使い方を知っています。finally
ただし、try-catchブロックの後にコードを配置できるため、使用の進歩は得られません。明確な例はありますか?
java - Javaでfinallyブロックの例外によってマスクされた例外を記録するにはどうすればよいですか?
注:Javaブロックでは例外をスローしてはならないことを知っfinally
ています。そうしないと、[非常に、非常に、非常に]悪い習慣になります。
私は、すべての例外を処理し(たとえば、ログに記録するか無視する)、それらが伝播するのを防ぐために内部を使用する必要があることを知っています。Java 7のThrowableにメソッドがあることは知っています
が、 Java5と6をターゲットにしています。try-catch
finally
getSuppressed
問題:Javaでは、try-finally
例外(名前はA)がブロックによってスローされた場合try
、制御はfinally
ブロックに到達します(例外がない場合はブロックにも到達しますが、この質問では面白くありません)。次に、finally
ブロックが例外をスローすると(名前はB)、例外Aは抑制されるか、マスク/飲み込まれ、例外Bが呼び出し元に伝播されます。
質問:ある例外が別の例外によって抑制されている状況を何らかの方法で検出し、最初の例外をログに記録/記録できますか?
...特定の例外がスローされた理由を推論し、実際に何が起こったのかわからないことに多くの時間を費やしました。
理論的根拠:問題のあるtry-finally
ブロックはライブラリにコード化されていることが多いため(現在はHibernateでした)、変更することはできません。
ソリューションの制約:最初に述べたように、考えられるソリューションはJava 7で中継するべきではありませんが、一方で、実稼働グレードである必要はありません(そうすることはボーナスになります)。AOPはここでのオプションです。
( 「開発にJava7を使用する」のような些細な答えを投稿しないでください:)
.net - C#の既存のオブジェクトusingステートメントと同等のC ++ / CLIスタックセマンティクス?
私はこのC#コードと同等のC ++ /CLIを知っています:
これは:
しかし、これを表現するための同様に簡潔でRAIIのような方法はありますか?
または:
?私が持っている最も近い実例はこれです:
しかし、それはあまり良くないようです。
java - 最終的に と 最後に いいえ はどう違いますか?
違いは何ですか
と
catch
ブロック内から戻ってもブロックを実行できることを読みましたfinally
。他に違いはありますか?