0Pricing
Java Academy · レッスン

エラーハンドリングとAdvice

エラーハンドリングのパターンを学び、Spring Bootで@ControllerAdviceを使います。

「エラーハンドリングとAdvice」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

導入

エラーハンドリングによってユーザー体験が向上します。生のスタックトレースを返すのではなく、意味のあるメッセージを返します。

コード:カスタム例外

リソースが見つからない場合に使用するカスタム例外を作成します。

public class UserNotFoundException extends RuntimeException {
  public UserNotFoundException(Long id) {
    super("User not found with id " + id);
  }
}

コード:例外のスロー

ユーザーが見つからない場合、サービスはUserNotFoundExceptionをスローします。

public User find(Long id) {
  return repo.findById(id)
            .orElseThrow(() -> new UserNotFoundException(id));
}

コード:ControllerAdvice

@ControllerAdviceは例外を捕捉し、レスポンスにマッピングします。

import org.springframework.web.bind.annotation.*;@ControllerAdvice
public class GlobalExceptionHandler {
  @ExceptionHandler(UserNotFoundException.class)
  @ResponseBody
  public String handleNotFound(UserNotFoundException ex) {
    return ex.getMessage();
  }
}

メリット

処理を一元化すると重複を避けられ、API全体で一貫したエラーメッセージを確実に返せます。

使用方法

GET /users/999でテストします。スタックトレースの代わりに、"User not found with id 999"と表示されます。

ControllerAdviceの確認

クイックチェック:Spring Bootで@ControllerAdviceが提供するものは何ですか。

まとめ

まとめ:カスタム例外を作成してサービスでスローし、@ControllerAdviceで処理して、明確なメッセージを返しました。

よくある質問

「エラーハンドリングとAdvice」レッスンは無料ですか?

はい。「エラーハンドリングとAdvice」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「エラーハンドリングとAdvice」で何を学びますか?

エラーハンドリングのパターンを学び、Spring Bootで@ControllerAdviceを使います。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「エラーハンドリングとAdvice」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. JPA/H2とリポジトリ
  2. CRUDサービス層
  3. エラーハンドリングとAdvice
← Java Academyに戻る