ExceptionUtil.java
public class ExceptionUtil {
public static void printElement(int[] array, int index) {
try {
// 指定ã•れãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã®è¦ç´ ã‚’å–å¾—ã—出力
int value = array[index];
System.out.println("é¸ã°ã‚ŒãŸå€¤: " + value);
} catch (ArrayIndexOutOfBoundsException e) {
// é…列ã®ç¯„囲外ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸå ´åˆã®ã‚¨ãƒ©ãƒ¼å‡¦ç†
System.out.println("エラー: インデックスãŒç¯„囲外ã§ã™");
}
}
}
解説:ArrayIndexOutOfBoundsException ã®åŸºæœ¬
ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€é…列ã«å˜åœ¨ã—ãªã„インデックスを指定ã—ãŸå ´åˆã«ç™ºç”Ÿã™ã‚‹ä¾‹å¤–ArrayIndexOutOfBoundsException を安全ã«å‡¦ç†ã™ã‚‹æ–¹æ³•ã‚’å¦ã³ã¾ã™ã€‚
ã©ã‚“ãªã¨ãã«èµ·ãã‚‹ã®ã‹ï¼Ÿ
Javaã®é…列ã¯ã€0ã‹ã‚‰å§‹ã¾ã‚‹ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã™ã€‚
int[] arr = {10, 20, 30}; // é•·ã•3 → 有効ãªindex㯠0, 1, 2
上記ã®é…列ã«å¯¾ã—㦠arr[3] ã¨ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ã€å˜åœ¨ã—ãªã„è¦ç´ ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ã—㦠ArrayIndexOutOfBoundsException ãŒã‚¹ãƒãƒ¼ã•れã¾ã™ã€‚
try-catch ã®ä½¿ã„ã©ã“ã‚
ã“ã®ã‚ˆã†ãªã€Œä½¿ã†å‰ã«ç¢ºèªã™ã¹ã処ç†ã€ã‚’ãã®ã¾ã¾æ›¸ãã¨ã€å®Ÿè¡Œæ™‚ã«ã‚¨ãƒ©ãƒ¼ã§æ¢ã¾ã£ã¦ã—ã¾ã„ã¾ã™ã€‚
ã—ã‹ã— try-catch を使ãˆã°ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã‚’æ¢ã‚ãšã«ã€ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã—ã¦å‡¦ç†ã‚’継続ã§ãã¾ã™ã€‚
出力例ã¨å‹•作確èª
int[] numbers = {10, 20, 30};
ExceptionUtil.printElement(numbers, 1); // → é¸ã°ã‚ŒãŸå€¤: 20
ExceptionUtil.printElement(numbers, 3); // → エラー: インデックスãŒç¯„囲外ã§ã™
ExceptionUtil.printElement(numbers, 0); // → é¸ã°ã‚ŒãŸå€¤: 10
ã¾ã¨ã‚:ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã§å¦ã¶ã¹ãã“ã¨
- é…列ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯ç¯„囲外アクセスã§ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹
ArrayIndexOutOfBoundsExceptionã‚’try-catchã§æ•æ‰ã™ã‚Œã°ã€å®‰å…¨ãªã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ã«ãªã‚‹- ユーザーã«é©åˆ‡ãªãƒ•ィードãƒãƒƒã‚¯ã‚’与ãˆã‚‹ã“ã¨ã§ã€ã‚¢ãƒ—リケーションã®ä¿¡é ¼æ€§ã‚’高ã‚られる
103 ステップアップå•題 「例外修羅é“ã€
Just Keep Typing, Baby!ã§ã¯ã€ã“ã®ã€Œä¾‹å¤–修羅é“ã€ã§ã¤ã¾ã¥ã„ãŸäººå‘ã‘ã®è§£èª¬ã‚’ã—ã¦ã„ã¾ã™ã€‚ã“ã¡ã‚‰ã‚‚ãœã²ï¼
// tesh:
// ã“れã€è¦‹é€ƒã™ã¨å¤‰ãªã‚¯ã‚»ã¤ããžã€‚èªã‚“ã©ã“。
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™



コメント