34. 例外操作
34. 例外操作
例外が発生したメソッド内で例外処理
l:\lesson084\test.java
class test { public static void main(String args[]) { try { first(); } catch (ArithmeticException err) { System.out.println("てめぇは俺よりバカだった…\n" + err); } } static void first() { try { second(); } catch (ArithmeticException err) { System.out.println("たったひとつのシンプルな答えだ"); } } static void second() { try { System.out.println(10 / 0); } catch (ArithmeticException err) { System.out.println("エラーの原因はたった一つ"); } } }
実行結果
L:\lesson084>java test
エラーの原因はたった一つ
例外のthrow
l:\lesson085\test.java
class test { public static void main(String args[]) { try { first(); } catch (ArithmeticException err) { System.out.println("てめぇは俺よりバカだった…\n" + err); } } static void first() { try { second(); } catch (ArithmeticException err) { System.out.println("たったひとつのシンプルな答えだ"); throw err; } } static void second() { try { System.out.println(10 / 0); } catch (ArithmeticException err) { System.out.println("エラーの原因はたった一つ"); throw err; } } }
実行結果
L:\lesson085>java test
エラーの原因はたった一つ
たったひとつのシンプルな答えだ
てめぇは俺よりバカだった…
java.lang.ArithmeticException: / by zero