Salesforce 認定 Platform デベロッパー 無料問題 6 / 10 ・ 分野2: プロセスの自動化とロジック
夜間に動く Apex のクラスで、捕捉されない例外が起きた。この例外の知らせ方について、Apex 開発者ガイドの説明に合うものはどれか。
- 例外の情報を含むメールが、既定では失敗したクラスを最後に変更した開発者に届く
- 例外の情報を含むメールが、同じ例外が続けて起きても、起きるたびに1通ずつ届く
- メールは届かない。捕捉されない例外は、デバッグログにだけ記録される
- 例外の情報を含むメールが、既定では処理を実行したユーザーに届く
正解と解説を見る
正解: A
正解の理由
Apex 開発者ガイドの「Exceptions in Apex」は、捕捉されない例外(コードが catch しない例外)について、Salesforce が例外の情報を含むメールを送ると書いている。メールは既定で、失敗したクラスやトリガーの LastModifiedBy 項目に入っている開発者に送られ、設定の[Apex 例外メール]でほかのユーザーや任意のアドレスも宛先に加えられる。
違う選択肢
「例外の情報を含むメールが、既定では処理を実行したユーザーに届く」… ガイドは、捕捉されない例外のメールは、既定では失敗したクラスやトリガーの LastModifiedBy 項目の開発者に送られると書いている。処理を実行したユーザーは既定の宛先ではない。
「メールは届かない。捕捉されない例外は、デバッグログにだけ記録される」… 例外はデバッグログにも記録されるが、捕捉されない例外については、Salesforce が例外の情報を含むメールも送る。
「例外の情報を含むメールが、同じ例外が続けて起きても、起きるたびに1通ずつ届く」… 同じ例外が続いた場合、2通目以降のメールは抑止され、最初の1通だけが送られる。開発者の受信箱が同じエラーで埋まらないようにするためである。
押さえどころ
匿名の Apex の実行や、Aura・LWC から @AuraEnabled 経由で呼ばれたメソッドの例外ではメールは送られない。メールはアプリケーションサーバーごとに1時間10通までで、確実に届くとは限らない。例外で処理が止まると、それまでの DML は戻される。