---
schema_version: "1"
id: 8d3e713daeb1fb772f97ee7c5180e46ca048a1aa8958a1d2476581c7c7605020
title: Raise Error コンポーネント
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.6/raise-error-component-reference.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.6/raise-error-component-reference
source_site: docs.mulesoft.com
content_type: documentation
content_hash: e8775a1ee69b9e258e358a9e9ffe71233caf7c8fea85e6e04834be7c0e6269c4
description: MuleSoft Documentation Site
release: "4.6"
latest: false
---
# Raise Error コンポーネント

このコアコンポーネントは、障害が発生したかのように Mule エラーを生成し、その説明および種別をカスタマイズできます。

このコンポーネントは、次のエラーを生成するためにのみ使用します。

- `MULE:SECURITY`​、​`MULE:CONNECTIVITY`​ などのコアランタイムエラー。
- カスタムエラー種別。

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">別のコネクタや ​<code>FILE:FILE_NOT_FOUND</code>​ や ​<code>JSON:INVALID_SCHEMA</code>​ などのモジュールからエラーを発生させることはできません。コネクタの既存の名前空間を使用することはできません。</td></tr></tbody></table>

## [](#エラー生成設定)エラー生成設定

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 33.3333%;">
<col style="width: 33.3335%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
<th class="tableblock halign-left valign-top">説明</th>
<th class="tableblock halign-left valign-top">例</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">説明</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">String (文字列) または DataWeave 式</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">エラーの説明を指定します。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>description="Error description message."</code>​</p></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">String (文字列)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">エラーの種別を指定します。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>type="CUSTOM:CUSTOM_ERROR"</code></p></td>
</tr>
</tbody>
</table>

## [](#コアランタイムエラー生成種別)コアランタイムエラー生成種別

コアランタイムエラー種別では、暗黙的な名前空間および識別子を使用する必要があり、エラーの説明メッセージのみカスタマイズできます。次に例を示します。

```xml
<raise-error type="MULE:CONNECTIVITY" description="Error description message"/>
```

## [](#カスタムエラー生成種別)カスタムエラー生成種別

カスタムエラー種別では、新しい名前空間を宣言します。エラー種別の名前空間は、エラーの起源を特定するのに役立ちます。次に例を示します。

```xml
<raise-error type="ORDER:INVALID_DATA" description="Email is invalid. Cannot complete transaction"/>
```

コネクタまたはモジュールでは定義済みの名前空間があるため、これらから既存の名前空間を使用することはできません。 `raise-error`​ で使用することでカスタム名前空間を宣言した場合は、他の ​`raise-error`​ コンポーネントおよびカスタム種別で使用できます。

## [](#例)例

次の運転教習プラットフォームの例では、ユーザーが運転可能な 16 歳以上であることを確認します。ユーザーが 16 歳未満の年齢を入力すると、フローで ​`PRECONDITIONS:INCORRECT_AGE`​ エラーが生成されます。

- Choice Router コンポーネントにより、条件処理がフローに追加されます。
- 要求で送信された age パラメーターが 16 ​`[http://localhost:8081/test?age=15](http://localhost:8081/test?age=15)`​ 未満の場合、Raise Error コンポーネントでエラー種別 ​`PRECONDITIONS:INCORRECT_AGE`​ と説明 ​`Minimum age of 16 required to drive`​ が生成されます。
- 次に、On-Error Continue コンポーネントでエラー ​`PRECONDITIONS:INCORRECT_AGE`​ の種別が照合され、そのスコープ内で Logger コンポーネントが実行されます。Logger コンポーネントによってエラーメッセージ ​`Minimum age of 16 required to drive`​ が記録されます。
- 要求 ​`[http://localhost:8081/test?age=17](http://localhost:8081/test?age=17)`​ の age パラメーターが 16 より大きい場合、Logger コンポーネントでデフォルトのメッセージ「​`User age above 16 years.`​」が返されます。​\` Allowed to drive\`​ が返されます。
- 要求 ​`[http://localhost:8081/test](http://localhost:8081/test)`​ で age パラメーターが渡されない場合、式 ​`#[message.attributes.queryParams.age < 16]`​ を評価しようとしたときに Choice コンポーネントで自動的に ​`MULE:EXPRESSION`​ エラーが生成されます。これは、要求で age パラメーターが指定されなかったことで、その値が null になっているためです。
- 次に、On-Error Continue コンポーネントでエラー ​`MULE:EXPRESSION`​ の種別が照合され、そのスコープ内で Logger コンポーネントが実行されます。Logger コンポーネントによってメッセージ ​`The parameter age is missing or invalid`​ が返されます。

フローの XML 設定:

```xml
<http:listener-config name="HTTP_Listener_config">
  <http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<flow name="raise-error-example-flow">
  <http:listener config-ref="HTTP_Listener_config" path="/test"/>
  <choice>
    <when expression="#[message.attributes.queryParams.age &lt; 16]">
      <raise-error type="PRECONDITIONS:INCORRECT_AGE" description="Minimum age of 16 required to drive" />
    </when>
    <otherwise >
      <logger level="INFO" message="User age above 16 years. Allowed to drive"/>
    </otherwise>
  </choice>
  <error-handler >
    <on-error-continue enableNotifications="true" logException="true" type="PRECONDITIONS:INCORRECT_AGE">
      <logger level="INFO" message="Minimum age to drive is 16 years old"/>
    </on-error-continue>
    <on-error-continue enableNotifications="true" logException="true"  type="MULE:EXPRESSION">
      <logger level="INFO" message="The parameter age is missing or invalid"/>
    </on-error-continue>
  </error-handler>
</flow>
```

`[https://unsecurebank.com/balance](https://unsecurebank.com/balance)`​ に対して要求を行ったときに勘定残高を返す API を考えます。  
次の例では、この API に対する要求を行って値を ​`balance`​ 変数に保存し、​`payload.amount`​ と比較して操作が可能かどうかを判断します。  
振込金額が利用可能残高を超えると Choice Router で ​`ACCOUNT:INSUFFICIENT_FUNDS`​ エラーが生成され、振込が行われないようにします。さらに、失敗の詳細が含まれる式を提供することで、動的な説明が生成されます。

フローの XML 設定:

```xml
<flow name="raise-error-example-flow">
  <http:request url="https://unsecurebank.com/balance" target="balance"/>
  <choice>
    <when expression="#[payload.amount > vars.balance]">
      <raise-error type="ACCOUNT:INSUFFICIENT_FUNDS" description="#['Cannot transfer $(payload.amount) since only $(vars.balance) are available.']"/>
    </when>
  </choice>
  <http:request url="https://unsecurebank.com/transfer"/>
</flow>
```

## [](#関連情報)関連情報

- [Mule エラー](https://docs.mulesoft.com/jp/mule-runtime/4.6/mule-error-concept)
- [On-Error コンポーネント](https://docs.mulesoft.com/jp/mule-runtime/4.6/on-error-scope-concept)