Contact Free trial Login

causedBy

causedBy(Error, String): Boolean

This function matches an error by its type, like an error handler does.

causedBy is useful when you need to match by a super type, but the specific sub-type logic is also needed. It can also useful when handling a COMPOSITE_ROUTING error that contains child errors of different types.

Parameters

Name Description

error

Optional. An Error type.

errorType

A string that identifies the error, such as HTTP:UNAUTHORIZED.

Example

This XML example calls causedBy from a when expression in a Mule error handling component to handle a SECURITY error differently depending on whether it was caused by an HTTP:UNAUTHORIZED or HTTP:FORBIDDEN error. Notice that the first expression passes in the error (an Error type) explicitly, while the second one passes it implicitly, without specifying the value of the parameter. Note that error is the variable that DataWeave uses for errors associated with a Mule message object (see DataWeave Variables for Mule Runtime).

Source

<error-handler name="securityHandler">
  <on-error-continue type="SECURITY">
    <!-- general error handling for all SECURITY errors -->
    <choice>
      <when expression="#[Mule::causedBy(error, 'HTTP:UNAUTHORIZED')]">
        <!-- specific error handling only for HTTP:UNAUTHORIZED errors -->
      </when>
      <when expression="#[Mule::causedBy('HTTP:FORBIDDEN')]">
        <!-- specific error handling only for HTTP:FORBIDDEN errors -->
      </when>
    </choice>
  </on-error-continue>
</error-handler>

We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used and to tailor advertising. You can read more and make your cookie choices here. By continuing to use this site you are giving us your consent to do this.