Name

[2.0] error()

Raises an error. This is equivalent to throwing an exception in Java, C++, Ruby, and other languages.

Syntax

none error()
none error($error as xs:QName)
none error($error as xs:QName?, $description as xs:string)
none error($error as xs:QName?, $description as xs:string, 
           $error-object as item()*)

Inputs

This function has four different signatures. The three optional parameters defined in the Syntax” section are the QName associated with the error, an xs:string, and a sequence of items. How these inputs are processed is implementation-defined, so useful or appropriate values for these arguments vary from one processor to the next.

Output

This function never returns. The error() function returns an error to the external processing environment. How (or if) the QName, string, and sequence of items passed to this function are delivered to the environment is implementation-defined.

Defined in

XQuery 1.0 and XPath 2.0 Functions and Operators section 3, “The Error Function.” In addition, Appendix C of this spec defines a number of error conditions and codes. For example, err:FODT0003 is the error code for a timezone value that is not valid. The err namespace is bound to the URI http://www.w3.org/2005/xqt-errors—we’ll use this in our examples. You’re free to create your own error codes and messages if you like.

Example

We’ll look at four stylesheets that throw errors, one for each of the four method signatures of the error() function. Here’s the first, which we simply call error() ...

Get XSLT, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.