---
schema_version: "1"
id: 449c487c3c1023206f94d34836a8b4c8effa5cbc83311b3b6c6b7aa0420d641b
title: Error Handler (<error-handler/>)
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/anypoint-code-builder/acb-component-error-handler.md
canonical_url: https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-error-handler
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 6e76dabede5b494c6705d82dafbc97f0d95073bf74225f9ee040ad8e89e939a2
description: MuleSoft Documentation Site
latest: true
---
# Error Handler (<error-handler/>)

![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE

![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE

Mule アプリケーションによってスローされたエラーをキャッチし、エラー種別に一致する最初の On-Error コンポーネント設定にルーティングします。

Error Handler コンポーネントには、On Error Continue と On Error Propagate という 2 つの子要素があり、アプリケーションで発生したエラーがハンドラーで設定されたエラー種別と一致する場合に実行するルートを設定できます。各ハンドラーには独自の動作があり、それを含むコンポーネント (Flow または Try スコープ) に関連して動作します。

- On Error Continue (​`on-error-continue`​): 実行されると、実行の結果がそのコンテナ要素の結果として (コンテナが実行を正常に完了したかのように) 使用されます。この時点のすべてのトランザクションが正常にコミットされます。
- On Error Propagate (​`on-error-propagate`​): すべてのトランザクションをロールバックしてから実行され、その結果が使用されて既存のエラーが再スローされます。この場合、コンテナ要素はその実行に「失敗」します。

エラーに一致するエラー処理設定がない場合、アプリケーションはデフォルトのエラー処理プロセスに従います。詳細は、​[メッセージのデフォルトエラー処理の使用](https://docs.mulesoft.com/mule-runtime/latest/error-handling#default_error_handling)​を参照してください。

## [](#component-xml)コンポーネント XML

このコンポーネントは、次の XML 構造をサポートします。

```xml
<flow name="myFlow">

    <error-handler>
      <on-error-propagate name="onErrorPropagate" >
        <!-- error handling logic -->
      </on-error-propagate>
      <on-error-continue name="onErrorContinue" >
        <!-- error handling logic -->
      </on-error-continue>
    </error-handler>

</flow>
```

Error Handler (​`<error-handler/>`​) 属性は UI および XML で設定できます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">属性名</th>
<th class="tableblock halign-left valign-top">属性 XML</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Error handler (エラーハンドラー)</strong>​ (デフォルト)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>doc:name</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>キャンバスに表示されるコンポーネントの編集可能な名前。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">なし</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>doc:id</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>コンポーネントの自動生成された識別子。</p>
</div></div></td>
</tr>
</tbody>
</table>

`<on-error-continue/>`​ 子要素と ​`<on-error-propagate/>`​ 子要素は次の属性を共有します。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 60%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">属性名</th>
<th class="tableblock halign-left valign-top">属性 XML</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>When (条件)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>when</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>この On-Error 戦略の実行をトリガーする条件を定義する一致式。式はブール値 (​<code>true</code>​ または ​<code>false</code>​) に評価される必要があります。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Type (種別)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>type</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>この On-Error 戦略で処理されるエラーを定義する、Mule エラー種別のカンマ区切りのリスト。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Log exception (ログ例外)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>logException</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>この戦略でエラーが処理される前に、そのエラーをレベル ​<code>ERROR</code>​ でログに記録するかどうかを指定します。デフォルトは ​<code>true</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Enable notifications (通知を有効化)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>enableNotifications</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>エラーが発生したときに、この戦略で ​<code>ExceptionNotification</code>​ 種別の通知がトリガーされるかどうかを指定します。デフォルトは ​<code>true</code>​ です。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#エラー処理の例)エラー処理の例

次の例は、​`VALIDATION:NOT_NULL`​ エラーに対して ​`{ "MyError": "value was expected to be null" }`​ を生成し、その他のエラー種別に対しては ​`{ "messageANY" : "Some other error" }`​ を生成するハンドラーを設定します。

```xml
<error-handler >
  <on-error-continue
    enableNotifications="true"
    logException="true"
    type="VALIDATION:NOT_NULL">
    <ee:transform >
      <ee:message>
        <ee:set-payload>
        <![CDATA[%dw 2.0
        output application/json
        ---
        {
        MyError : error.description as String
        }]]>
        </ee:set-payload>
      </ee:message>
    </ee:transform>
  </on-error-continue>
  <on-error-continue
    enableNotifications="true"
    logException="true"
    type="ANY">
    <ee:transform>
      <ee:message >
        <ee:set-payload >
        <![CDATA[%dw 2.0
        output application/json
        ---
        {
        "messageANY" : "Some other error"
        }
        ]]>
        </ee:set-payload>
      </ee:message>
    </ee:transform>
  </on-error-continue>
</error-handler>
```

## [](#see-also)関連情報

- [Mule エラー](https://docs.mulesoft.com/mule-runtime/latest/mule-error-concept)
- [Mule Runtime Engine 通知](https://docs.mulesoft.com/mule-runtime/latest/mule-server-notifications)