/** * ドメイン非依存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 「例外修羅道」 Step08 問題 | Javaドリル

103 「例外修羅道」 Step08 問題

eyecatch103-step08 103「例外修羅道」

問題

あなたは、特定の業務エラーを表すために、独自の例外クラスを作成しようとしています。
次の要件に従って、自作の例外を定義し、それを実際の処理で使ってください。


要件

  1. MyAppException という名前のクラスを定義し、Exception を継承すること
  2. MyAppException はコンストラクタでエラーメッセージを受け取り、super() で親クラスに渡すこと
  3. checkCode(int code) メソッドを作成し、code が 999 の場合に MyAppException を throw すること
  4. 呼び出し元の main メソッドで try-catch を使い、例外を処理して "独自例外発生: (例外メッセージ)" と出力すること
  5. code が 999 でない場合は "コード: (code)" と出力すること

テストコード(Main.java)

public class Main {
  public static void main(String[] args) {
    try {
      ExceptionUtil.checkCode(100);  // 正常
      ExceptionUtil.checkCode(999);  // 独自例外
    } catch (MyAppException e) {
      System.out.println("独自例外発生: " + e.getMessage());
    }
  }
}

ヒント

  • 独自例外は public class MyAppException extends Exception として定義する
  • super("メッセージ") を使えば、Exception クラスにメッセージを渡せる
  • 業務ロジックに応じた意味のある例外クラスを作ると、プログラムが読みやすくなる

→ 解答例

103 ステップアップ問題 「例外修羅道」

🎯 実習で理解を深めよう

この内容についてJavaDrillで実際に手を動かして学習できます

コメント

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