019-003-007
複数キャッチブロックの基本
初級
問題説明
複数キャッチブロックの基本
この問題では: 文字列引数を受け取るprocessメソッドで整数変換と除算を行い、発生した例外の種類(NumberFormatExceptionまたはArithmeticException)に応じて個別のcatchブロックで異なるエラーメッセージを表示するプログラムを作成します。
学習目標: 異なる種類の例外を個別のcatchブロックで処理する方法を理解する
概要
メソッドprocess(String input)を定義し、引数に応じて異なる例外が発生する可能性がある処理を行います。複数のcatchブロックを使って、例外の種類ごとに適切なエラーメッセージを出力するプログラムを作成してください。
仕様
Mainクラス
static int process(String input)メソッドを定義するinputをInteger.parseInt(input)で整数に変換する- 変換結果を
resultとし、100 / resultを計算して返す(例外はキャッチせず呼び出し元に伝播させる)
mainメソッドで以下の3つのケースを順に実行するprocess("abc")を呼び出す(NumberFormatExceptionが発生)process("0")を呼び出す(ArithmeticExceptionが発生)process("4")を呼び出す(正常に処理される)
- 各
process呼び出しはtry-catchで囲み、以下のcatchブロックを持つNumberFormatExceptionをキャッチし"Format error: " + e.getMessage()を出力するArithmeticExceptionをキャッチし"Math error: " + e.getMessage()を出力する- 例外が発生しない場合は
"Result: " + resultを出力する
出力形式
Format error: For input string: "abc"
Math error: / by zero
Result: 25
