å•題
ã‚ãªãŸã¯ã€ä¾‹å¤–ãŒç™ºç”Ÿã—ãŸã¨ãã«ã€ãã®åŽŸå› ã‚’è©³ç´°ã«èª¿æŸ»ã§ãるよã†ã«ãƒã‚°å‡ºåŠ›ã™ã‚‹å‡¦ç†ã‚’作æˆã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚
次ã®ä»•様ã«å¾“ã£ã¦ã€ä¾‹å¤–ãŒç™ºç”Ÿã—ãŸéš›ã«ã€ä»¥ä¸‹ã®æƒ…å ±ã‚’å‡ºåŠ›ã—ã¦ãã ã•ã„:
"エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ"(固定メッセージ)e.getMessage()ã«ã‚ˆã‚‹ä¾‹å¤–メッセージe.printStackTrace()ã«ã‚ˆã‚‹ã‚¹ã‚¿ãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ï¼ˆé–‹ç™ºè€…å‘ã‘ãƒã‚°ï¼‰
è¦ä»¶
- メソッドåã¯
traceError(int[] array, int index, int divisor)ã¨ã™ã‚‹ - é…列ã®è¦ç´ ã‚’å–り出ã—ã€ãれを指定ã•ã‚ŒãŸæ•°å€¤ã§å‰²ã‚‹
- インデックスãŒç¯„囲外ã€ã¾ãŸã¯ã‚¼ãƒé™¤ç®—ãŒèµ·ã“りã†ã‚‹
- 例外ãŒç™ºç”Ÿã—ãŸå ´åˆã€ä»¥ä¸‹ã®3ã¤ã‚’出力ã™ã‚‹ã“ã¨ï¼š
"エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ"- 例外ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ï¼ˆ
e.getMessage()) - 例外ã®ã‚¹ã‚¿ãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ï¼ˆ
e.printStackTrace())
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
int[] data = {10, 20, 30};
ExceptionUtil.traceError(data, 1, 5); // æ£å¸¸
ExceptionUtil.traceError(data, 5, 2); // インデックス範囲外
ExceptionUtil.traceError(data, 0, 0); // ゼãƒé™¤ç®—
}
}
ヒント
e.getMessage()ã¯ä¾‹å¤–ã®ç°¡æ½”ãªèª¬æ˜Žæ–‡ï¼ˆ1行)をå–å¾—ã™ã‚‹e.printStackTrace()ã¯ä¾‹å¤–ã®ç™ºç”Ÿç®‡æ‰€ã‚’詳細ã«å‡ºåŠ›ã™ã‚‹ï¼ˆé–‹ç™ºç”¨ï¼‰- 本番環境ã§ã¯
printStackTrace()ã®ä»£ã‚りã«ãƒã‚¬ãƒ¼å‡ºåŠ›ãŒä½¿ã‚れるã“ã¨ãŒå¤šã„
→ è§£ç”例
103 ステップアップå•題 「例外修羅é“ã€
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント