こんにちは、にいるです。
今回は、Apexの「カスタム例外の作成」について、書いてみたいと思いますが、この記事書くまでカスタム例外の知識は全くありませんでした。
ただDeveloper試験の勉強していて、全然理解できてなかったので、「とりあえず!書いて動かそう!」と思い書いてみました。
やっぱり書くのは大事ですね。めちゃくちゃ理解できました。
・【ヘルプ】カスタム例外の作成
・【ヘルプ】組み込み例外および共通メソッド
1.カスタム例外の作成方法
カスタム例外とはApex開発で自由に作成できる例外メソッドです。
組み込み例外では対応できないことが実現可能になります。
ただ、その反面、カスタム例外では組み込み例外を発生させることはできないので、注意が必要です。
それと反対に組み込み例外というものもありますが、これは例外処理の方法として準Salesforceが準備してくれているものです。
DmlExceptionやListExceptionなどが組み込み例外に当たります。
カスタム例外を定義するには、クラス名の最後にExceptionを追加する必要があります。
クラス名の最後にExceptionを記載すると、自動で拡張されるみたいですね。
extends Exceptionが付いてました。
さっそく、色々書きながら試してみました。
組み込み例外でDMLやSOQLの処理エラー時のメッセージがgetmessage()で取れるように、カスタム例外もgetmessageで取れるようですね。
カスタムだと好きな条件で好きなメッセージを表示できるので、結構使えるかもしれないです。
下記のコードはtryに入ってきたiが0より大きければエラーが発生するようになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Integer i = 1; try{ System.debug('●1●'); // ① 例外発生させる条件を設置 If (i > 0){ throw new CreateCustomException('例外です'); } } // ② 例外処理の内容を記載 catch(CreateCustomException e) { System.debug('●catchしました●'); System.debug(e.getmessage()); } |
①iが1なので、if分岐でTrueになりCreateCustomExceptionを発生させています。
②それをcatchで拾いメッセージを表示しています。
■デバッグ結果
2.まとめ
いかがでしたでしょうか。
例外発生時に決まった処理がない場合やシステムで制御するには複雑過ぎるということもあるかと思います。
その場合には、カスタム例外で画面にメッセージを表示させてユーザ自身に対応してもらうこともできそうですね。
皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!
コメント