å•題
ã‚ãªãŸã¯ã€è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã™ã‚‹ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ãƒ¡ã‚½ãƒƒãƒ‰ã‚’作æˆã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚
データã«ã¯ä¸æ£ãªã‚‚ã®ãŒæ··ã˜ã£ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€1ä»¶ã”ã¨ã«å€‹åˆ¥ã® try-catch ã§ä¾‹å¤–処ç†ã‚’行ã„ã€ãƒã‚°ã‚’残ã—ãªãŒã‚‰å…¨ä½“を安全ã«å‡¦ç†ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
以下ã®ä»•様ã«å¾“ã£ã¦å‡¦ç†ã‚’実装ã—ã¦ãã ã•ã„。
è¦ä»¶
- メソッドåã¯
processData(String[] inputs)ã¨ã™ã‚‹ - å„
inputs[i]ã‚’Integer.parseInt()ã§æ•´æ•°ã«å¤‰æ›ã—ã€100 / 値を計算ã™ã‚‹ - 変æ›ã§ããªã„æ–‡å—列(例:
"abc")やã€ã‚¼ãƒé™¤ç®—ãŒç™ºç”Ÿã™ã‚‹æ–‡å—列(例:"0")ãŒå«ã¾ã‚Œã‚‹ - 1ä»¶ã”ã¨ã«
try-catchã§å‡¦ç†ã—ã€ä¾‹å¤–ãŒç™ºç”Ÿã—ã¦ã‚‚ä»–ã®è¦ç´ ã®å‡¦ç†ã‚’継続ã™ã‚‹ã“㨠- 以下ã®ã‚ˆã†ã«å‡ºåŠ›ã™ã‚‹ã“ã¨ï¼š
- æ£å¸¸æ™‚:
入力 "20" ã®çµæžœ → 5 - 変æ›å¤±æ•—:
入力 "abc" ã¯æ•°å€¤ã«å¤‰æ›ã§ãã¾ã›ã‚“ã§ã—㟠- ゼãƒé™¤ç®—:
入力 "0" ã¯ã‚¼ãƒã«ã‚ˆã‚‹é™¤ç®—エラーã§ã™
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
String[] inputs = {"20", "0", "abc", "10"};
ExceptionUtil.processData(inputs);
}
}
ヒント
- å„è¦ç´ ã®å‡¦ç†ã‚’
foræ–‡ã§ãƒ«ãƒ¼ãƒ—ã•ã›ã‚‹ Integer.parseInt()ã§ã¯NumberFormatExceptionãŒç™ºç”Ÿã™ã‚‹ã“ã¨ãŒã‚ã‚‹100 / valueã®é™¤ç®—ã§ã¯ArithmeticExceptionã«æ³¨æ„try-catchã‚’1ä»¶ãšã¤åˆ†ã‘ã¦å‡¦ç†ã™ã‚Œã°ã€é€”ä¸ã§ã‚¨ãƒ©ãƒ¼ãŒèµ·ãã¦ã‚‚最後ã¾ã§å‡¦ç†ãŒç¶šã‘られる
→ è§£ç”例
103 ステップアップå•題 「例外修羅é“ã€
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント