å•題
ã‚ãªãŸã¯ã€ãƒ•ァイルや外部リソースを扱ã†ã‚ˆã†ãªå‡¦ç†ã‚’想定ã—ãŸãƒ¡ã‚½ãƒƒãƒ‰ã‚’作æˆã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚
ã“ã®å‡¦ç†ã§ã¯ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€ãƒ¡ã‚½ãƒƒãƒ‰å†…ã§ try-catch を使ã‚ãšã€ä¾‹å¤–を呼ã³å‡ºã—å…ƒã«æŠ•ã’る(throws)形å¼ã§è¨è¨ˆã—ã¦ãã ã•ã„。
次ã®ä»•様ã«å¾“ã£ã¦å®Ÿè£…ã—ã¦ãã ã•ã„:
- メソッド
riskyMethod()ã¯å¼·åˆ¶çš„ã«ä¾‹å¤–を発生ã•ã›ã‚‹ï¼ˆthrow new Exception("å±é™ºãªå‡¦ç†ã§ã™");) - 呼ã³å‡ºã—å…ƒã®
mainメソッドã§try-catchを使ã£ã¦ã€ä¾‹å¤–ã‚’å—ã‘å–り処ç†ã™ã‚‹ - 例外ãŒç™ºç”Ÿã—ãŸã‚‰
"エラーをå—ã‘å–りã¾ã—ãŸ: (例外メッセージ)"を出力ã™ã‚‹
è¦ä»¶
riskyMethodメソッドã¯throws Exceptionを宣言ã™ã‚‹ã“ã¨- 呼ã³å‡ºã—å…ƒã§
try-catchã«ã‚ˆã‚Šä¾‹å¤–を処ç†ã™ã‚‹ã“㨠System.out.printlnã§ä¾‹å¤–メッセージを出力ã™ã‚‹ã“ã¨throwã¨throwsã®é•ã„ã‚’æ„è˜ã™ã‚‹ã“ã¨
テストコード(Main.java)
public class Main {
public static void main(String[] args) {
try {
ExceptionUtil.riskyMethod();
} catch (Exception e) {
System.out.println("エラーをå—ã‘å–りã¾ã—ãŸ: " + e.getMessage());
}
}
}
ヒント
throw→ 例外を発生ã•ã›ã‚‹throws→ 「ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ä¾‹å¤–を投ã’ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“ã€ã¨å®£è¨€ã™ã‚‹Exceptionã¨ã„ã†è¦ªã‚¯ãƒ©ã‚¹ã§å®£è¨€ã™ã‚Œã°ã€ã‚らゆる例外をカãƒãƒ¼ã§ãã‚‹
→ è§£ç”例
103 ステップアップå•題 「例外修羅é“ã€
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント