<commit_before>.. _global_error_handler:

グローバルエラーハンドラ
========================================
.. contents:: 目次
  :depth: 3
  :local:

後続ハンドラで発生した未捕捉の例外及びエラーを捕捉し、ログ出力及び結果返却を行うハンドラ。

処理の流れは以下のとおり。


.. image:: ../images/GlobalErrorHandler/flow.png

ハンドラクラス名
--------------------------------------------------
* :java:extdoc:`nablarch.fw.handler.GlobalErrorHandler`

モジュール一覧
--------------------------------------------------
.. code-block:: xml

  <dependency>
    <groupId>com.nablarch.framework</groupId>
    <artifactId>nablarch-fw</artifactId>
  </dependency>

制約
--------------------------------------------------

ハンドラキューの先頭に配置すること
  このハンドラは未捕捉例外を処理するため、特に理由がない限り :ref:`http_character_encoding_handler` の次に配置すること。

  もし、このハンドラより手前のハンドラで例外が発生した場合は、
  ウェブアプリケーションサーバやJVMにより例外処理が行われる。


例外及びエラーに応じた処理内容
--------------------------------------------------
このハンドラでは捕捉した例外及びエラーの内容に応じて、以下の処理と結果の生成を行う。

例外に応じた処理内容
  .. list-table::
    :header-rows: 1
    :class: white-space-normal
    :widths: 25 75

    * - 例外クラス
      - 処理内容

    * - :java:extdoc:`ServiceError <nablarch.fw.results.ServiceError>` 
      
        (サブクラス含む)<commit_msg>不足していた説明を追加<commit_after>.. _global_error_handler:

グローバルエラーハンドラ
========================================
.. contents:: 目次
  :depth: 3
  :local:

後続ハンドラで発生した未捕捉の例外及びエラーを捕捉し、ログ出力及び結果返却を行うハンドラ。

処理の流れは以下のとおり。


.. image:: ../images/GlobalErrorHandler/flow.png

ハンドラクラス名
--------------------------------------------------
* :java:extdoc:`nablarch.fw.handler.GlobalErrorHandler`

モジュール一覧
--------------------------------------------------
.. code-block:: xml

  <dependency>
    <groupId>com.nablarch.framework</groupId>
    <artifactId>nablarch-fw</artifactId>
  </dependency>

制約
--------------------------------------------------

未捕捉例外のログ出力を行う際、ログにリクエストパラメータを書き出すと文字化けが発生する。
そのため、特に理由がない限り :ref:`http_character_encoding_handler` の次に配置すること。

もし、このハンドラより手前のハンドラで例外が発生した場合は、
ウェブアプリケーションサーバやJVMにより例外処理が行われる。


例外及びエラーに応じた処理内容
--------------------------------------------------
このハンドラでは捕捉した例外及びエラーの内容に応じて、以下の処理と結果の生成を行う。

例外に応じた処理内容
  .. list-table::
    :header-rows: 1
    :class: white-space-normal
    :widths: 25 75

    * - 例外クラス
      - 処理内容

    * - :java:extdoc:`ServiceError <nablarch.fw.results.ServiceError>` 
      
        (サブクラス含む)
{'fraction_non_alphanumeric': 0.30026338893766463, 'fraction_numerical': 0.0052677787532923615, 'mean_word_length': 2.0508701472556896, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1467930', 'n_tokens_mistral': 1142, 'n_tokens_neox': 1100, 'n_words': 87}