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);