ただ今java silverを勉強しているものです。
下記のコードで"B"が出力されるというのが正解なのですが、MyExceptionのcatchは到達不可能でエラーにはならないのでしょうか?
package zzz; public class ZZZ { public static void main(String[] args) { try{ test(); }catch(MyException e){ System.out.println("A"); } } public static void test(){ try{ throw Math.random() > 0.5? new MyException() : new RuntimeException(); }catch(RuntimeException e){ System.out.println("B"); } } } class MyException extends RuntimeException{}
下記の形は下段のcatchに到達する前に親がcatchするため到達不可でエラー出るというのは理解しているつもりなのですが、
これとあまり変わらず上記のコードも到達不可に感じます。
どう理解すればよいでしょうか?
エラー文
}catch(RuntimeException e){
}catch(MyException e){
すいませんがどなたかご教授お願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/09 03:28
退会済みユーザー
2018/05/09 04:25