4番手の執筆者「Ogawa」です。

さて今回はGeneXusで、アプリケーション上の予期せぬエラー(Exception)を取得する方法をご紹介します。
まずGeneXusでは、データベースの予期せぬエラー(SQL Exception)を取得する「error_handler コマンド」はサポートされていますが、アプリケーション上の予期せぬエラー(Exception)はGeneXus16時点でも、サポートされていません。

しかし、GeneXusの機能ではないですが、ネイティブコード(try-catch文)を記述する事で取得する事ができます。

※但し、GeneXusにおいてネイティブコードを記述する事は推奨されておりませんので、どうしても使用したい際に留めておく事を推奨します。

アプリケーション上の予期せぬエラーの例:コレクション変数に対して、インデックスを範囲外に指定

try-catch文を記述せずに実行した場合、Tomcatのスタックトレースが表示されます。

クリックで拡大します。

クリックで拡大します。

 

 

 

 

 

 

try-catch文を記述した例

実行例

 

 

 

MSGコマンドの出力部分をログ出力にしてみたり、Javaのエラーメッセージ取得などが出来れば、実用的になりますね。

今回は以上です、最後までご覧頂きありがとうございました。

◇ 参考リンク(GeneXus Wiki)
・error_handler コマンド
・GeneXus にソースコードを含めるコマンド