catchとfinallyにおけるreturn文の動作
2023-09-29 23:13:49
質問
以下のコードを見て、出力の挙動を説明してください。
public class MyFinalTest {
public int doMethod(){
try{
throw new Exception();
}
catch(Exception ex){
return 5;
}
finally{
return 10;
}
}
public static void main(String[] args) {
MyFinalTest testEx = new MyFinalTest();
int rVal = testEx.doMethod();
System.out.println("The return Val : "+rVal);
}
}
その結果、Val : 10が返されます。
Eclipseでは警告が表示されます。
finally block does not complete normally
.
catchブロックのreturn文はどうなるのでしょうか?
どのように解決するのですか?
の中のものが上書きされます。
finally
なぜなら
finally
は他のすべてのものの後に実行されるからです。
そのため、経験則では -
から戻ることはありません。
finally
. 例えばEclipseでは、このスニペットに対して「"finally block does not complete normal"」という警告が表示されます。
関連
-
プロジェクトの依存関係を解決できない。
-
配列定数は初期化子でのみ使用可能です。
-
eclipse にリソースリーク:'in' が閉じない
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] finally block does not complete normal」Eclipse警告
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
Uncaught ReferenceError: は定義されていません。
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
無効な文字定数
-
無効なメソッド宣言
-
java.sql.SQLException: 結果セットの開始前
-
コンストラクタDate()が未定義である問題
-
Java:未解決コンパイル問題の解決方法
-
[解決済み] finally ブロックで戻り値の変数を変更しても、戻り値が変更されないのはなぜですか?