Samurai Blog よりコードを抜粋(リンク内容)したもので、一つ一つのコード内容はおおよそ理解しているつもりなのですが、実行結果を見てみてもどういった順序で何が実行されているのか、理解に苦しんでいます。
序盤のExceptionが継承された「MyExcクラス」 においても、
この public MyExc() {} 空白のメソッドが何を意味するのかすら分かりません。とても初歩的な質問になってはいるのですが、どなたか教えてくださると大変ありがたいです。
恐れ入りますが、どうぞよろしくお願いいたします。
該当のソースコード
// 独自の例外クラス class MyExc extends Exception { public MyExc() { } public MyExc(String msg) { super(msg); } public MyExc(Throwable cause) { super(cause); } public MyExc(String msg, Throwable cause) { super(msg, cause); } } public class Main { public static void main(String[] args) { int result; result = div(5, 0); System.out.println("戻り値 = " + result); } public static int div(int num1, int num2) { try { try { if (num2 == 0) { throw new MyExc("0で割ったときの例外を発生させる"); } } catch (MyExc e) { throw new MyExc("独自クラスの例外発生", e); } int result = num1 / num2; return result; } catch (MyExc e) { e.printStackTrace(); return 0; } } }
実行結果↓
MyExc: 独自クラスの例外発生 at Main.div(Main.java:35) at Main.main(Main.java:24) Caused by: MyExc: 0で割ったときの例外を発生させる at Main.div(Main.java:32) ... 1 more 戻り値 = 0
参照: Samurai Blogリンク内容
回答2件
あなたの回答
tips
プレビュー