スタックトレースを読む
例外名と説明を読み、ファイル名と行番号から自分のコードを探します。
失敗するコードJAVA
int[] scores = {80, 90};
System.out.println(scores[2]);表示例OUTPUT
ArrayIndexOutOfBoundsException
Index 2 out of bounds for length 2想定できる失敗を処理する
try-catchJAVA
try {
int number = Integer.parseInt("abc");
System.out.println(number * 2);
} catch (NumberFormatException e) {
System.out.println("整数を入力してください");
} finally {
System.out.println("処理を終了します");
}実行結果OUTPUT
整数を入力してください
処理を終了します不正な値を知らせる
受け付けられない値にはIllegalArgumentExceptionを投げます。
割引計算JAVA
static int discount(int price, int percent) {
if (price < 0 || percent < 0 || percent > 100) {
throw new IllegalArgumentException("値の範囲が不正です");
}
return price * (100 - percent) / 100;
}実行結果OUTPUT
discount(2000, 10) = 1800
IllegalArgumentException: 値の範囲が不正ですJUnit 5で自動テストする
PriceTest.javaJAVA
assertEquals(1800, Price.discount(2000, 10));
assertThrows(IllegalArgumentException.class,
() -> Price.discount(2000, 101));実行結果OUTPUT
Tests run: 2, Failures: 0, Errors: 0
BUILD SUCCESS