ExceptionUtil.java
public class ExceptionUtil {
// ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ä¾‹å¤–をスãƒãƒ¼ã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã¨å®£è¨€
public static void riskyMethod() throws Exception {
// 明示的ã«ä¾‹å¤–を発生ã•ã›ã‚‹
throw new Exception("å±é™ºãªå‡¦ç†ã§ã™");
}
}
Main.javaï¼ˆå†æŽ²ï¼‰
public class Main {
public static void main(String[] args) {
try {
ExceptionUtil.riskyMethod();
} catch (Exception e) {
System.out.println("エラーをå—ã‘å–りã¾ã—ãŸ: " + e.getMessage());
}
}
}
解説:throws 宣言㨠throw æ–‡ã®é•ã„
ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€ä¾‹å¤–処ç†ã®è²¬ä»»ã‚’呼ã³å‡ºã—å…ƒã«å§”ãã‚‹è¨è¨ˆã‚’å¦ã³ã¾ã™ã€‚
throws 宣言ã¨ã¯ï¼Ÿ
メソッド㫠throws を書ãã“ã¨ã§ã€ã€Œã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ä¾‹å¤–を投ã’ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€ã¨å‘¼ã³å‡ºã—å´ã«ä¼ãˆã¾ã™ã€‚
public void method() throws Exception {
// 例外を投ã’ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹
}
throw æ–‡ã¨ã¯ï¼Ÿ
throw ã¯å®Ÿéš›ã«ä¾‹å¤–を発生ã•ã›ã‚‹æ–‡ã§ã™ã€‚
throw new Exception("メッセージ");
呼ã³å‡ºã—å´ã®è²¬ä»»
throws ã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã†ã¨ãã¯ã€å‘¼ã³å‡ºã—元㧠try-catch ã«ã‚ˆã£ã¦ä¾‹å¤–を処ç†ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
処ç†ã—ãªã„å ´åˆã¯ã€ã•らã«ä¸Šä½ã¸ä¾‹å¤–ã‚’ä¼æ’ã•ã›ãªã‘れã°ãªã‚Šã¾ã›ã‚“(今回㯠main ã§å®Œçµï¼‰ã€‚
出力例
エラーをå—ã‘å–りã¾ã—ãŸ: å±é™ºãªå‡¦ç†ã§ã™
ã¾ã¨ã‚:ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§å¦ã¶ã¹ãã“ã¨
throwsã¯ã€Œä¾‹å¤–ãŒç™ºç”Ÿã—ã†ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã‚ˆã€ã¨å‘¼ã³å‡ºã—å…ƒã«è¦å‘Šã™ã‚‹ä»•組ã¿throwã¯å®Ÿéš›ã«ä¾‹å¤–を作ã£ã¦æŠ•ã’ã‚‹æ“作- 呼ã³å‡ºã—å´ã§
try-catchã™ã‚‹ã“ã¨ã§ã€å®‰å…¨ãªä¾‹å¤–処ç†ãŒå¯èƒ½ã«ãªã‚‹
103 ステップアップå•題 「例外修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œä¾‹å¤–修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// ç´å¾—ã—ãŸãƒ•リã¯å’æ¥ã—よã†ãœã€‚ã“ã“ã§æœ¬ç‰©ã®ç†è§£ã‚’。
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™



コメント