019-001-009
複数の例外をキャッチする
中級
問題説明
複数の例外をキャッチする
この問題では: 文字列配列の要素を整数に変換するprocessValueメソッドを実装し、NumberFormatExceptionとArrayIndexOutOfBoundsExceptionが適切にスローされることを確認します。
学習目標: 1つのメソッドから複数の種類の例外が発生しうることを理解し、それぞれを適切に処理する方法を学ぶ
概要
processValue()メソッドは、クラス内のstatic final文字列配列から指定インデックスの要素を取得し、整数に変換して返します。無効なインデックスや数値に変換できない文字列に対して、適切な例外がスローされます。
仕様
- クラス内に文字列配列
{"10", "abc", "30"}をstatic finalフィールドVALUESとして定義 processValue(int index)メソッド(static):VALUES[index]で要素を取得し、Integer.parseInt()で整数に変換して返す- 配列範囲外のインデックス →
ArrayIndexOutOfBoundsExceptionがスローされる - 数値に変換できない文字列 →
NumberFormatExceptionがスローされる
main()メソッドで各ケースをtry-catchで処理し、結果またはエラーメッセージを出力
テスト方式
各テストケースはMain.processValue(int)を直接呼び出し、以下を検証します:
- 有効なインデックス(例: 0, 2)では例外がスローされず正常に値を返すこと
- 無効なインデックス(例: 1, 5)では適切な例外がスローされること
