å•題
ã‚ãªãŸã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®å¹´é½¢ã‚’å—ã‘å–ã£ã¦å‡¦ç†ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’作æˆã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚
å¹´é½¢ãŒ0未満ã®å€¤ã ã£ãŸå ´åˆã¯ã€ä¸æ£ãªå…¥åŠ›ã¨ã—ã¦ä¾‹å¤–を発生ã•ã›ã¦ãã ã•ã„。
次ã®è¦ä»¶ã«å¾“ã£ã¦å®Ÿè£…ã—ã¦ãã ã•ã„:
- メソッド
checkAge(int age)を作æˆã™ã‚‹ age㌠0 未満ãªã‚‰ã€IllegalArgumentExceptionã‚’throwã—ã¦ç™ºç”Ÿã•ã›ã‚‹- 呼ã³å‡ºã—å…ƒã§
try-catchã«ã‚ˆã‚Šä¾‹å¤–を処ç†ã—ã€ä¾‹å¤–ãŒç™ºç”Ÿã—ãŸã‚‰"エラー: (例外メッセージ)"を出力ã™ã‚‹ - æ£å¸¸ãªå¹´é½¢ãªã‚‰
"å¹´é½¢: (å¹´é½¢)"を出力ã™ã‚‹
è¦ä»¶
throw new IllegalArgumentException(...)を使ã£ã¦ä¾‹å¤–を自ら発生ã•ã›ã‚‹ã“ã¨IllegalArgumentExceptionã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã«ã€ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’渡ã™ã“ã¨- 呼ã³å‡ºã—å´ã§
try-catchã«ã‚ˆã‚Šä¾‹å¤–を処ç†ã™ã‚‹ã“ã¨
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
try {
ExceptionUtil.checkAge(25); // æ£å¸¸
ExceptionUtil.checkAge(-5); // エラー
} catch (IllegalArgumentException e) {
System.out.println("エラー: " + e.getMessage());
}
}
}
ヒント
throwã¯ãƒ¡ã‚½ãƒƒãƒ‰ã®ä¸ã§ä¾‹å¤–を発生ã•ã›ã‚‹ã¨ãã«ä½¿ã†IllegalArgumentExceptionã¯ã€Œå¼•æ•°ãŒãŠã‹ã—ã„ã€ã“ã¨ã‚’è¡¨ã™æ¨™æº–çš„ãªä¾‹å¤–クラス- æ¡ä»¶åˆ†å²ã§
age < 0ã®ã¨ãã ã‘例外を投ã’るよã†ã«ã™ã‚‹
→ è§£ç”例
103 ステップアップå•題 「例外修羅é“ã€
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント