Class GlobalErrorHandler

java.lang.Object
nablarch.fw.handler.GlobalErrorHandler
All Implemented Interfaces:
ExceptionHandler, Handler<Request<?>,Object>

public class GlobalErrorHandler extends Object implements Handler<Request<?>,Object>, ExceptionHandler
異例処理用例外ハンドラ。

このハンドラは、リクエストコントローラの直後に配置され、 ハンドラキュー上のどのハンドラでも捕捉されなかった例外に対して 最終的に処理を行う責務を持ったハンドラである。

ほとんどのエラーは各処理方式に準じた例外ハンドラーにより捕捉されるが、 それらのハンドラが捕捉しないエラー、もしくは、それらのハンドラ以降の 処理で発生したエラーが対象となる。

このハンドラが例外処理として行うのは以下の2点である。 1. ログ出力 2. コントローラに対する例外のリスロー (コントローラ自体の処理継続が不可能な致命的エラーの場合。)

Author:
Iwauo Tajima <iwauo@tis.co.jp>
  • Constructor Details

    • GlobalErrorHandler

      public GlobalErrorHandler()
  • Method Details

    • handle

      public Object handle(Request<?> req, ExecutionContext context)
      入力データに対する処理を実行する。
      Specified by:
      handle in interface Handler<Request<?>,Object>
      Parameters:
      req - 入力データ
      context - 実行コンテキスト
      Returns:
      処理結果データ
    • handleError

      public Result handleError(Error e, ExecutionContext context) throws Error, RuntimeException
      Description copied from interface: ExceptionHandler
      Error の例外処理を行う。
      例外をNablarchのハンドラでレスポンスとして処理する場合、 このハンドラより外部のハンドラが処理できるレスポンスオブジェクトを返す。
      Specified by:
      handleError in interface ExceptionHandler
      Parameters:
      e - 処理するError
      context - ExecutionContext
      Returns:
      例外を表すレスポンスオブジェクト
      Throws:
      Error - 例外を処理できない場合
      RuntimeException - 例外を処理できない場合、または付け替えた例外
    • handleRuntimeException

      public Result handleRuntimeException(RuntimeException e, ExecutionContext context) throws RuntimeException
      Description copied from interface: ExceptionHandler
      RuntimeExceptionの例外処理を行う。
      例外をNablarchのハンドラでレスポンスとして処理する場合、 このハンドラより外部のハンドラが処理できるレスポンスオブジェクトを返す。
      Specified by:
      handleRuntimeException in interface ExceptionHandler
      Parameters:
      e - 処理する例外
      context - ExecutionContext
      Returns:
      例外を表すレスポンスオブジェクト
      Throws:
      RuntimeException - 例外を処理できない場合、または付け替えた例外