ExceptionUtil.java
public class ExceptionUtil {
public static void checkAge(int age) {
if (age < 0) {
// å¹´é½¢ãŒ0未満ã®å ´åˆã¯ã€ä¾‹å¤–を自ら発生ã•ã›ã‚‹
throw new IllegalArgumentException("å¹´é½¢ã¯0以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“");
}
// æ£å¸¸ãªå ´åˆã¯å¹´é½¢ã‚’出力
System.out.println("å¹´é½¢: " + age);
}
}
解説:æ¡ä»¶ã«ã‚ˆã£ã¦ throw ã™ã‚‹ä¾‹å¤–
ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€ä¸æ£ãªå…¥åŠ›ã‚’æ¤œçŸ¥ã—ãŸã‚‰è‡ªåˆ†ã§ä¾‹å¤–を発生ã•ã›ã‚‹è¨è¨ˆã‚’å¦ã³ã¾ã™ã€‚
throw ã¯ä¾‹å¤–を作ã£ã¦æŠ•ã’ã‚‹
throw new IllegalArgumentException("メッセージ");
ã“ã®æ–‡ã«ã‚ˆã£ã¦ã€ç¾åœ¨ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®å®Ÿè¡Œã‚’強制的ã«ä¸æ–ã—ã€å‘¼ã³å‡ºã—å…ƒã«ä¾‹å¤–を投ã’ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
IllegalArgumentException ã¨ã¯ï¼Ÿ
- Javaã«æ¨™æº–ã§ç”¨æ„ã•れã¦ã„る実行時例外(
RuntimeExceptionã®ã‚µãƒ–クラス) - 「渡ã•れãŸå¼•æ•°ãŒä¸æ£ã§ã™ã‚ˆã€ã¨ã„ã†æ„味をæŒã¤
- 開発ç¾å ´ã§ã‚‚ã€ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚¨ãƒ©ãƒ¼ã®å®šç•ªã¨ã—ã¦é »ç¹ã«ä½¿ã‚れる
出力例(テストコードã«ã‚ˆã‚‹çµæžœï¼‰
ExceptionUtil.checkAge(25);
// → 年齢: 25
ExceptionUtil.checkAge(-5);
// → エラー: å¹´é½¢ã¯0以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“
ã¾ã¨ã‚:ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§å¦ã¶ã¹ãã“ã¨
throwæ–‡ã§ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®ä¸ã‹ã‚‰èƒ½å‹•çš„ã«ä¾‹å¤–を発生ã•ã›ã‚‹ã“ã¨ãŒã§ãã‚‹- 䏿£ãªçŠ¶æ…‹ã‚’ä¾‹å¤–ã¨ã—ã¦æ‰±ã†ã“ã¨ã§ã€å …ç‰¢ã§æ˜Žå¿«ãªãƒã‚¸ãƒƒã‚¯ãŒæ›¸ã‘るよã†ã«ãªã‚‹
- 引数ãƒã‚§ãƒƒã‚¯ã‚„値ã®åˆ¶é™ãŒå¿…è¦ãªã¨ãã«ã¯ã€
IllegalArgumentExceptionを使ã†ã®ãŒä¸€èˆ¬çš„
103 ステップアップå•題 「例外修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œä¾‹å¤–修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// 今ãªã‚‰ã¾ã 笑ãˆã‚‹ã€‚è©°ã¾ã£ã¦ã‹ã‚‰èªã‚€ã‚ˆã‚Šãƒžã‚·ã€‚
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™



コメント