tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Lightning開発とExceptionエラー

通常、Apexクラスでtry-catchを行わずにExceptonエラーが発生すると次のようになります。
f:id:tyoshikawa1106:20150620011901p:plain


LightningからApex処理を実行したときにはどのようになるか確認してみました。
f:id:tyoshikawa1106:20150620012035p:plain


Lightningの場合は、Exceptionエラーメッセージが画面に表示されることはないみたいです。(取得結果が0件のときと同じ動きです。)
f:id:tyoshikawa1106:20150620012231p:plain


値はどうなっているのかconsole.logで確認してみました。
f:id:tyoshikawa1106:20150620012524p:plain


この場合はNULLとなるみたいです。
f:id:tyoshikawa1106:20150620012750p:plain


処理が正常に実行されて取得結果が0件の場合は次のようになるのでNULLかどうかの比較判定ができるかもしれません。
f:id:tyoshikawa1106:20150620012952p:plain


Exceptionをthrowしたときの戻り値も確認してみました。
f:id:tyoshikawa1106:20150620013336p:plain


この場合もNULLとなるみたいでした。catchしてもしなくてもさほど違いはないかもしれません。
f:id:tyoshikawa1106:20150620013440p:plain


ここまでは、data.getReturnValue()の値を確認してみましたが、dataの内容も確認してみました。
f:id:tyoshikawa1106:20150620013804p:plain


結果はこのようになりました。
f:id:tyoshikawa1106:20150620013841p:plain


エラーメッセージの取得についてerrorのmessageの部分が利用できそうでしたが、「An internal server error has occurred↵Error ID: 1415641330-1225 (-467814789)」というようにシステム的なメッセージがセットされているみたいです。


とりあえずERRORの判定はできそうな項目もあるので必要に応じて自分で処理を書くことになりそうです。


LightningとExceptionエラーについてはこんな感じでした。最後にLightningのエラーハンドリング方法についてはこちらも参考になると思います。