Salesforceのthrow Exceptionによるエラー処理のメリットと使用例
IT・技術関連
更新日:2024.09.05
エンジニア採用
SalesforceにおけるthrowなどのExceptionを使用したエラー処理 SalesforceのExceptionステートメントに分類されるthrowステートメントは、Exception(例外)を生成します。 throwによって生成されたException(例外)を使用して、コードの正常な実行が中断されたことを通知できます。さらに、Exceptionステートメントのtry、catch、finallyを使用して、Exception(例外)から復旧する処理を実行できます。
Exceptionステートメントによるエラー処理のメリット
Exceptionステートメントを使用すると、エラー処理を簡素化できるメリットがあります。 Salesforceにおけるエラー処理にはException(例外)の他に、System.assert コールによるアサーション、エラーコードやBoolean値を返すなどの方法がありますが、これらと比較してよりシンプルにエラー処理を実行できます。 Exceptionステートメントでは、コールされたメソッドからコール側までの範囲で、上位へとバブルアップして、エラー処理を実行するcatch ステートメントを発見します。そのため、エラーを処理するためのコードを各メソッドに用意する必要がありません。 また、finallyステートメントにより、エラーの原因となる変数のリセットやデータの削除などを行い、例外の発見から復旧までを一元的に実行できます。Exception(例外)によるエラー処理の流れ
Exceptionステートメントを使用して、以下のようなエラー処理を実行できます。 1. Exception(例外)が発生すると、コードの実行を停止する。 2. Exception(例外)発生前に処理された DML操作をロールバックする。 → データベースにはコミットしない。 3. Exception(例外)をデバッグログに記録する。 4. Salesforceから管理者にException(例外)情報を記載したメールが送信される。 → 送信先:エラーとなったクラスもしくはトリガのLastModifiedBy項目で指定された開発者 5. エンドユーザのSalesforce画面にエラーメッセージが表示される。SalesforceのExceptionステートメントの種類
Salesforce ApexのExceptionステートメントには、throwの他にException(例外)に対応するtry、catch、finallyというステートメントがあります。Exceptionステートメントの種類と機能について説明します。Exceptionステートメントのthrowステートメント
throwステートメントは例外オブジェクトを指定して、特定のエラーに関する情報を提供することでException(例外)を生成します。生成されたException(例外)を使用してエラーの発生を通知することができます。throwステートメントの構文を紹介します。throw exceptionObject;
Exceptionステートメントのtry、catch、finallyステートメント
throwで生成したException(例外)に対応するtry、catch、finallyステートメントが用意されています。これらの組み合わせにより、発生したException(例外)から復旧できます。tryステートメント
tryステートメントは、Exception(例外)が発生する可能性をもつコードのブロックを識別します。 1つのtryステートメントに対して1つ以上のcatch ステートメントを関連づけられます。同様にfinallyステートメントも関連づけられますが、finallyステートメントは1つまでに限られます。tryブロックを使用する場合は、catchブロックとfinally ブロックのいずれか1つが必要です。catchステートメント
catchステートメントは、指定された種類のException(例外)を処理できるコードのブロックを識別します。 catchステートメントには一意の例外種別を指定する必要があります。また、1つのcatchブロックで特定の例外種別がキャッチされると、その他に該当するcatchブロックがあったとしても実行されません。finallyステートメント
finallyステートメントは、実行が保証されるコードのブロックの識別とクリーンアップを行います。 finallyステートメントはException(例外)の発生や種別と関係なく、常に実行されるため、エラー処理だけでなく、リソースの解放などのクリーンアップコードとしても活用できます。try、catch、finallyステートメントを使用したサンプル
以下がtry、catch、finallyステートメントを使用したサンプルです。 try {
// Try block
code_block
} catch (exceptionType variableName) {
// Initial catch block.
// At least the catch block or the finally block must be present.
code_block
} catch (Exception e) {
// Optional additional catch statement for other exception types.
// Note that the general exception type, 'Exception',
// must be the last catch block when it is used.
code_block
} finally {
// Finally block.
// At least the catch block or the finally block must be present.
code_block
}
Salesforceの例外処理、throwなどのExceptionステートメントを理解する
SalesforceのApexの例外処理を実行する、throwなどのExceptionステートメントについて説明しました。 Exceptionステートメントでは、throwによって生成した例外から、正常なコード実行の妨げとなるエラーなどのイベントに対処できます。 Exception(例外)の生成と復旧に使用できる、Exceptionステートメントについて理解しましょう。]]>この記事の監修者・著者
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
- 2024-06-30キャリアインフラエンジニアはやめとけって本当?きつい理由を口コミを交えて解説
ITエンジニアの派遣を利用したい企業様へ
- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。