No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
Newer Version Available
Exception クラスおよび組み込み例外
例外は、コード実行の正常な流れを中断させるエラーを示します。Apex 組み込み例外を使用するか、カスタム例外を作成できます。すべての例外には共通のメソッドがあります。
すべての例外は、エラーメッセージや例外型を返す組込みメソッドをサポートしています。標準の exception クラスに加え、例外にはさまざまな型があります。
System 名前空間の例外を次に示します。
| 例外 | 説明 |
|---|---|
| AsyncException | 非同期コールのエンキューの失敗など、非同期処理に関する問題を示す例外。 |
| CalloutException | 外部システムへのコールの失敗など、Web サービス処理に関する問題を示す例外。 |
| DmlException | insert ステートメントでレコードの必要な項目が欠落している場合など、DML ステートメントに関する問題を示す例外。 |
| EmailException | 送信の失敗など、メールに関する問題を示す例外。詳細は、「送信メール」を参照してください。 |
| InvalidParameterValueException | 無効なパラメータがメソッドに渡されたか、Visualforce ページで使用される URL に関する問題が発生しました。Visualforce についての詳細は、『Visualforce 開発者ガイド』を参照してください。 |
| LimitException | ガバナ制限を超えました。この例外は、キャッチできません。 |
| JSONException | JSON の逐次化処理および並列化処理に関する問題を示す例外。詳細は、System.JSON、System.JSONParser、および System.JSONGenerator のメソッドを参照してください。 |
| ListException | 範囲外のインデックスへのアクセスなど、リストに関する問題を示す例外。 |
| MathException | 0 による除算など、算術演算に関する問題を示す例外。 |
| NoAccessException | 現在のユーザがアクセス権を付与されていない sObject へのアクセスなど、承認されないアクセスに関する問題を示す例外。通常は Visualforce ページで使用します。Visualforce についての詳細は、『Visualforce 開発者ガイド』を参照してください。 |
| NoDataFoundException | 削除された sObject へのアクセスなど、存在しないデータに関する問題を示す例外。通常は Visualforce ページで使用します。Visualforce についての詳細は、『Visualforce 開発者ガイド』を参照してください。 |
| NoSuchElementException | 特に Iterator next メソッドで使用されます。リストの終わり以降の項目にアクセスしようとすると、この例外が発生します。たとえば、iterator.hasNext() == false で iterator.next() をコールすると、この例外が発生します。 |
| NullPointerException | 次のコードで示す例のような、null 値の逆参照に関する問題を示す例外。 |
| QueryException | sObject の単一変数に対する、レコードを返さない、または複数のレコードを返すクエリの割り当てなど、SOQL クエリに関する問題を示す例外。 |
| RequiredFeatureMissing | Chatter が有効でない組織にリリースされているコードに Chatter 機能が要求されている。 |
| SearchException | SOAP API search() コールで実行される SOSL クエリの問題を示す例外。たとえば、searchString パラメータに含まれる文字数が 2 文字未満。詳細は、『SOAP API 開発者ガイド』を参照してください。 |
| SecurityException | Crypto ユーティリティクラスの静的メソッドに関する問題を示す例外。詳細は、「Crypto クラス」を参照してください。 |
| SerializationException | データの逐次化に関する問題を示す例外。通常は Visualforce ページで使用します。Visualforce についての詳細は、『Visualforce 開発者ガイド』を参照してください。 |
| SObjectException | insert の間のみ変更可能な update ステートメント内の項目の変更など、sObject レコードに関する問題を示す例外。 |
| StringException | ヒープサイズを超える string など、string に関連する問題を示す例外。 |
| TypeException | valueOf メソッドを使用した string 型「a」の integer 型への変換など、型の変換に関する問題を示す例外。 |
| VisualforceException | Visualforce ページに関する問題を示す例外。Visualforce についての詳細は、『Visualforce 開発者ガイド』を参照してください。 |
| XmlException | XML の読み取り、書き込みの失敗など、XmlStream クラスに関する問題を示す例外。 |
DmlException 例外の使用例を次に示します。
1Account[] accts = new Account[]{new Account(billingcity = 'San Jose')};
2try {
3 insert accts;
4} catch (System.DmlException e) {
5 for (Integer i = 0; i < e.getNumDml(); i++) {
6 // Process exception here
7 System.debug(e.getDmlMessage(i));
8 }
9}他の名前空間の例外については、
共通例外メソッド
例外メソッドは、例外の特定のインスタンスからコールされ、処理されます。次の表にすべ��のインスタンス例外メソッドを示します。すべての例外型に共通で次のメソッドが含まれます。
DMLException および EmailException メソッド
共通例外メソッドに加え、DMLExceptions および EmailExceptions には次のメソッドもあります。
| 名前 | 引数 | 戻り値 | 説明 |
|---|---|---|---|
| getDmlFieldNames | Integer i | String [] | 失敗した i 番目の行に示されるエラーの原因となった項目の名前を返します。 |
| getDmlFields | Integer i | Schema.sObjectField [] | 失敗した i 番目の行に示されるエラーの原因となった項目の項目トークンを返します。項目トークンの詳細は、「動的 Apex」を参照してください。 |
| getDmlId | Integer i | string | 失敗した i 番目の行に示されるエラーの原因となったレコードの ID を返します。 |
| getDmlIndex | Integer i | Integer | 失敗した i 番目の行の元の行位置を返します。 |
| getDmlMessage | Integer i | string | 失敗した i 番目の行のユーザメッセージを返します。 |
| getDmlStatusCode | Integer i | string | 非推奨。代わりに getDmlType を使用してください。失敗した i 番目の行の Apex 失敗コードを返します。 |
| getDmlType | Integer i | System.StatusCode | System.StatusCode の enum の値を返します。次に例を示します。System.StatusCode についての詳細は、「enum」を参照してください。 |
| getNumDml | Integer | DML 例外で失敗した行数を返します。 |