###前提・実現したいこと
javaの例外処理についての問題を解いています。
ソースコード内で例外が起こっている場所とどういう例外が起きているのかをコメントで記述し、例外発生時には、System.err.printlnメソッドを使用して例外発生の原因を出力するというものです。
この例外処理についてがよくわかりません。
よくわかっていないところが
・catch(例外クラス、引数)の例外クラスについてです。
この問題の場合、分母に0を使用いているために例外が発生しているのですが、適切な例外クラスがわかりません。
###発生している問題・エラーメッセージ
例外発生時の例外の原因の出力ができません。 [実行結果] $ javac Kadai65.java $ java Kadai65 ** 実行開始 ** ** 実行終了 ** Exception in thread "main" java.lang.ArithmeticException: / by zero at Kadai65.main(Kadai65.java:16)
###該当のソースコード
java
1import java.io.*; 2 3/** 4*例外処理を施したKadai65クラス 5*/ 6public class Kadai65 { 7 public static void main(String args[]) { 8 System.out.println("** 実行開始 **"); 9 10 int a, b, c; 11 12 a = 123; 13 b = 0; 14 15 try{ 16 c = a / b; /*分母に0を使用しているという例外が発生している*/ 17 System.out.println(c); 18 } 19 catch(NumberFormatException e){ 20 System.err.println("分母に0を用いているためエラーが発生しました"); 21 } 22 23 24 finally{ 25 System.out.println("** 実行終了 **"); 26 } 27 28 } 29} 30 31
###試したこと
例外処理の基本であるtryブロックで例外の発生するところを囲んで、catchして、最終的に実行終了を表示するようにしました。
###補足情報(言語/FW/ツール等のバージョンなど)
javaです。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。