Skip to main content

 

 

 

 
Language:
 
Service Studioバージョン :
 
 
OutSystems

Exception Handler

Exception Handler要素は、すべての例外または特定のタイプの例外を処理するアクションフローを開始します。アプリケーションロジックで発生した事前定義された例外(Database Exceptionなど)やカスタム例外(User Exceptionなど)を処理するロジックを定義できます。

Exception HandlerのExceptionプロパティを、Exception Handlerのフローで処理する例外タイプに設定します。すべてのタイプの例外を処理する場合は、ExceptionプロパティをAll Exceptionsに設定します。

たとえば、以下のフローはNot Registered例外を処理します。

Exception Handlerの例

OutSystemsでは例外タイプの階層があります。「親」の例外タイプを処理するException Handlerを定義すると、このException Handlerは「子」の例外タイプも処理できます。詳細については、「例外を処理する」をご覧ください。

Exception Handler要素によって開始される例外処理フローでは、フィードバックメッセージの表示、例外の詳細のロギング、他のタイプの例外の発生などのタスクを実行できます。

例外が発生したときにプラットフォームが検索する一連のException Handlerの詳細については、「例外処理の仕組み」をご覧ください。

例外のロギング{ #logging }

Log ErrorプロパティをYesに設定すると、Exceptionプロパティで構成したタイプの例外発生時にログが作成されます。ログに記録された例外はService Centerの[Monitoring > Errors]で確認できます。

データベーストランザクションの中止{ #aborting }

サーバー側で実行されているアクションで発生した例外を処理するときは、Exception HandlerのAbort Transactionプロパティを以下のように設定することにより、データベーストランザクションの処理方法を選択できます。

  • コミットされていないすべてのデータベーストランザクションを中止し、データベースの変更をロールバックする場合は、Abort TransactionプロパティをYesに設定します。

  • 何の例外も発生していないかのようにデータベーストランザクションを継続する場合は、Abort TransactionプロパティをNoに設定します。このトランザクションは、次のCommitTransactionサーバーアクションによりコミットされるか、通常であればリクエスト実行の最後にOutSystemsによって暗黙的にコミットされます。

リアクティブWebアプリやモバイルアプリでは、クライアント側アクションで例外処理を行うときはAbort Transactionプロパティを使用できません。

プロパティ

名前 説明 必須 デフォルト値 備考
Name 画面、アクション、モジュールといった、定義されているスコープ内の要素を識別します。 Yes
Exception 処理する例外の種類。 Yes エラーハンドラの動作を決定する例外の呼び出し階層があります。詳細については、例外処理の仕組みをご覧ください。
Abort Transaction [Yes]に設定すると、トランザクションを中止して変更をロールバックします。 Yes Yes このプロパティは、従来のWebアプリまたは(すべてのアプリの)サーバー側のコンテキストでのみ使用できます。
Log Error [Yes]に設定すると、例外が発生したときにエラーを記録します。 Yes Yes

ランタイムプロパティ

名前 説明 読み取り専用 備考
ExceptionMessage 最後のエラーの原因を説明するテキスト。 Yes Text
  • Was this article helpful?