/** * ドメイン非依存URL出力フィルタ * javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい * * データベースには絶対URL(https://minner.asia)を保持し、 * 表示時に現在のドメイン(home_url())に動的変換する */ function javadrill_make_urls_dynamic($content) { if (empty($content)) { return $content; } // データベース内の絶対URLを現在のhome_url()に置換 $old_url = 'https://minner.asia'; $new_url = untrailingslashit(home_url()); // http版も対応(念のため) $content = str_replace($old_url, $new_url, $content); $content = str_replace('http://minner.asia', $new_url, $content); return $content; } // 投稿本文、ウィジェット、タームの説明、抜粋に適用 add_filter('the_content', 'javadrill_make_urls_dynamic', 20); add_filter('widget_text', 'javadrill_make_urls_dynamic', 20); add_filter('term_description', 'javadrill_make_urls_dynamic', 20); add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20); 103 「例外修羅道」 Step02 解答例 | Javaドリル

103 「例外修羅道」 Step02 解答例

eyecatch103-step02 103「例外修羅道」

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で実際に手を動かして学習できます

コメント

タイトルとURLをコピーしました