ExceptionUtil.java
public class ExceptionUtil {
public static void divide(int a, int b) {
try {
// 商を計算ã—ã€çµæžœã‚’出力
int result = a / b;
System.out.println("è¨ˆç®—çµæžœ: " + result);
} catch (ArithmeticException e) {
// b ㌠0 ã®å ´åˆã®ã‚¨ãƒ©ãƒ¼å‡¦ç†
System.out.println("エラー: ゼãƒã«ã‚ˆã‚‹é™¤ç®—ã§ã™");
}
}
}
解説:ArithmeticException ã®åŸºæœ¬
ã“ã®å•題ã§ã¯ã€ã‚¼ãƒã«ã‚ˆã‚‹é™¤ç®—(a / 0)ãŒè¡Œã‚れãŸã¨ãã«ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹ã“ã¨ã‚’確èªã—ã€ãれを安全ã«å‡¦ç†ã™ã‚‹æ–¹æ³•ã‚’å¦ã¶ã“ã¨ãŒç›®çš„ã§ã™ã€‚
例外ã¨ã¯ä½•ã‹ï¼Ÿ
例外(Exception)ã¯ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã®å®Ÿè¡Œä¸ã«ç™ºç”Ÿã™ã‚‹ç•°å¸¸ãªçŠ¶æ…‹ã®ã“ã¨ã§ã™ã€‚
ãŸã¨ãˆã°ã€Œ0ã§å‰²ã‚‹ã€ã€Œå˜åœ¨ã—ãªã„é…列ã®è¦ç´ ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã€ã€Œnullã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã€ã¨ã„ã£ãŸã‚±ãƒ¼ã‚¹ãŒè©²å½“ã—ã¾ã™ã€‚
ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€ArithmeticException ã¨ã„ã†ã€Œç®—術計算ã§ã‚¨ãƒ©ãƒ¼ãŒèµ·ããŸå ´åˆã®ä¾‹å¤–ã€ã‚’扱ã„ã¾ã™ã€‚
try-catchæ§‹æ–‡ã®åŸºæœ¬
try {
// 例外ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ã®ã‚る処ç†
} catch (ExceptionType e) {
// 例外ãŒç™ºç”Ÿã—ãŸã¨ãã®å‡¦ç†
}
ã“ã®æ§‹æ–‡ã‚’使ã†ã“ã¨ã§ã€ä¾‹å¤–ãŒç™ºç”Ÿã—ã¦ã‚‚プãƒã‚°ãƒ©ãƒ ãŒæ¢ã¾ã‚‰ãšã«å‡¦ç†ã‚’ç¶šã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
出力例ã¨å‹•作確èª
ExceptionUtil.divide(10, 2); // → è¨ˆç®—çµæžœ: 5
ExceptionUtil.divide(10, 0); // → エラー: ゼãƒã«ã‚ˆã‚‹é™¤ç®—ã§ã™
ExceptionUtil.divide(-6, 3); // → è¨ˆç®—çµæžœ: -2
ã¾ã¨ã‚:ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§å¦ã¶ã¹ãã“ã¨
- Javaã§ã¯ 0 ã§å‰²ã‚‹ã¨
ArithmeticExceptionãŒç™ºç”Ÿã™ã‚‹ try-catchを使ãˆã°ã€ä¾‹å¤–を処ç†ã—ã¦ãƒ—ãƒã‚°ãƒ©ãƒ を継続ã§ãã‚‹- 例外ã®åŽŸå› ã«å¿œã˜ã¦ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«é©åˆ‡ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã™ã‚‹ã“ã¨ãŒé‡è¦
ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã¯ã€**例外処ç†ã®ç¬¬ä¸€æ©ã¨ã—ã¦ã€Œcatchã—ã¦æ¢ã‚ãšã«å‡¦ç†ã™ã‚‹ã€**ã¨ã„ã†æ„Ÿè¦šã‚’身ã«ã¤ã‘ã‚‹ãŸã‚ã®ã‚‚ã®ã§ã™ã€‚
103 ステップアップå•題 「例外修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œä¾‹å¤–修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// 実ã¯ã¿ã‚“ãªã“ã“ã§æ¢ã¾ã‚‹ã€‚æ¢ã¾ã£ã¦ã„ã„ã€ã§ã‚‚èªã‚。
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™



コメント