通常、Apexクラスでtry-catchを行わずにExceptonエラーが発生すると次のようになります。
LightningからApex処理を実行したときにはどのようになるか確認してみました。
Lightningの場合は、Exceptionエラーメッセージが画面に表示されることはないみたいです。(取得結果が0件のときと同じ動きです。)
値はどうなっているのかconsole.logで確認してみました。
この場合はNULLとなるみたいです。
処理が正常に実行されて取得結果が0件の場合は次のようになるのでNULLかどうかの比較判定ができるかもしれません。
Exceptionをthrowしたときの戻り値も確認してみました。
この場合もNULLとなるみたいでした。catchしてもしなくてもさほど違いはないかもしれません。
ここまでは、data.getReturnValue()の値を確認してみましたが、dataの内容も確認してみました。
結果はこのようになりました。
エラーメッセージの取得についてerrorのmessageの部分が利用できそうでしたが、「An internal server error has occurred↵Error ID: 1415641330-1225 (-467814789)」というようにシステム的なメッセージがセットされているみたいです。
とりあえずERRORの判定はできそうな項目もあるので必要に応じて自分で処理を書くことになりそうです。
LightningとExceptionエラーについてはこんな感じでした。最後にLightningのエラーハンドリング方法についてはこちらも参考になると思います。