Salesforce newキーワードを使用してカスタム例外クラスを作成する

環境
Salesfoce

構文
カスタム例外クラスを作成するには、組み込み Exception クラスを拡張して、
「MyException」や「PurchaseException」のようにクラス名の最後が Exception で終わるように指定します。
すべての例外クラスは、システム定義の基本クラス Exception を拡張するため、
すべての共通例外メソッドを継承します。
MyException というカスタム例外を定義します。
public class MyException extends Exception {}

使用例
カスタム例外の作成サンプル

public class ExceptionExample {
    public virtual class BaseException extends Exception {}
    public class OtherException extends BaseException {}

    public static void testExtendedException() {
        try {
            Integer i=0;
            // 処理コード
            if (i < 5) throw new OtherException('エラーメッセージ');
        } catch (BaseException e) {  
            // ほかの例外メッセージ
            System.debug(e.getMessage());
        }  
    }
}

次のような例外を作成できます。
1).引数のない例外
new MyException();

2).エラーメッセージを指定する 1 つの string 型の引数を取る例外
new MyException('error hapene’);

3).1 つの Exception 型の引数を取るもの。これは原因を特定でき、任意にスタック追跡できます。

new MyException(e);

4).string 型のエラーメッセージと、任意のスタック追跡に表示される例外チェーンの両方を取る例外

new MyException('error happen', e);

 

IT

Posted by arkgame