33. 例外
33. 例外
0の除算による例外
l:\lesson080\test.java
class test { public static void main(String args[]) { System.out.println(10 / 0); } }
実行結果
L:\lesson080>java test
Exception in thread "main" java.lang.ArithmeticException: / by zero
at test.main(test.java:3)
例外処理
l:\lesson081\test.java
class test { public static void main(String args[]) { try { System.out.println(10 / 0); } catch (ArithmeticException err) { System.out.println("エラー :" + err); } } }
実行結果
L:\lesson081>java test
エラー :java.lang.ArithmeticException: / by zero
finally
l:\lesson082\test.java
class test { public static void main(String args[]) { try { System.out.println(10 / 0); } catch (ArithmeticException err) { System.out.println("エラー :" + err); } finally { System.out.println("Kitty on your lap"); } } }
実行結果
L:\lesson082>java test
エラー :java.lang.ArithmeticException: / by zero
Kitty on your lap
catchの順番
l:\lesson083\test.java
class test { public static void main(String args[]) { try { first(); } catch (ArithmeticException err) { System.out.println("エラー1 :" + err); } finally { System.out.println("無駄無駄無駄無駄ァ"); } } static void first() { try { second(); } catch (ArithmeticException err) { System.out.println("エラー2 :" + err); } finally { System.out.println("ウィリィィィィィィィィ"); } } static void second() { try { System.out.println(10 / 0); } catch (ArithmeticException err) { System.out.println("エラー3 :" + err); } finally { System.out.println("裁くのは俺のスレッドだぁ"); } } }
実行結果
L:\lesson083>java test
エラー3 :java.lang.ArithmeticException: / by zero
裁くのは俺のスレッドだぁ
ウィリィィィィィィィィ
無駄無駄無駄無駄ァ