以下では、Apexの例外処理について、初心者にもわかりやすい形で複数回に分けて解説していきます。
Part 1 では「Apexの例外とは何か」「例外を処理する基本的な方法」などの導入を行い、
Part 2 では「組み込み例外クラスの詳細」について解説します。
その後、Part 3 では「具体的な実装例(try-catchブロック、DMLExceptionの扱いなど)」、
Part 4 では「カスタム例外の作り方」を説明していきます。
Part 1: Apexにおける例外の基本
1-1. 例外(Exception)とは?
- 定義: プログラム実行中に発生したエラーや異常状態を示すオブジェクトのことです。
- 目的: 予期しない事態が起きた際に、処理を中断し、エラー内容を通知することで、開発者が正しく対処できるようにするための仕組みです。
1-2. Apexでの例外の基本構文
Apexでは、try-catchブロックを使って例外を捕捉し、処理を行います。
try {
// エラーが発生する可能性のある処理
} catch (Exception e) {
// エラー時に実行する処理
// 例外オブジェクトeからメッセージ等を取得してログを残すなど
}
- tryブロック: 例外が発生する可能性のあるコードを入れる
- catchブロック: 例外が実際に発生したときに行う処理を入れる
- 必要に応じて、
finally
ブロックで「例外の有無に関わらず実行したい処理」を書くことも可能です。
1-3. 例外処理が重要な理由
- ユーザー体験向上: 予期しないエラーが画面上に生のまま表示されるのを防ぎ、適切なメッセージを表示できる
- データ整合性維持: 途中でエラーが起きても不完全なデータが保存されないように制御できる
- ログ取得・監視: システム管理者が何が起こったかをすばやく把握し、問題を特定しやすくなる
1-4. 例外の種類(大きく2つ)
-
組み込み例外
Salesforceが標準で提供している例外クラス。
例:DmlException
,NullPointerException
,LimitException
,QueryException
など -
カスタム例外
開発者が独自に定義する例外クラス。
例:MyCustomException extends Exception { ... }
これで「例外とは何か」「なぜ必要か」「どう使うか」のイメージがつかめたと思います。
次の Part 2 では、組み込み例外クラスを一覧で見ながら、具体的な特徴を解説します。