All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.xml.xquery.XQException Maven / Gradle / Ivy

/*
 * Copyright � 2003, 2004, 2005, 2006, 2007, 2008 Oracle.  All rights reserved.
 */

package javax.xml.xquery;

import java.lang.Exception;

/**
 * An exception that provides information on XQJ, XQuery or other errors
 * reported by an XQJ implementation.
 * 
*
* Each XQException provides several kinds of information: *
    *
  • a string describing the error. This is used as the Java * Exception message, available via the method getMessage.
  • *
  • the cause of the error. This is used as the Java Exception * cause, available via the method getCause.
  • *
  • the vendor code identifying the error. Available via the * method getVendorCode. Refer to the vendor documentation * which specific codes can be returned.
  • *
  • a chain of XQException objects. If more than one * error occurred the exceptions are referenced via this chain.
  • *
*
*
* Note that XQException has a subclass * {@link XQQueryException XQQueryException} providing more detailed * information about errors that occurred during the processing of a query. * An implementation throws a base XQException when an error * occurs in the XQJ implementation. Further, implementations are encouraged to * use the more detailed XQQueryException in case of an * error reported by the XQuery engine. *
*
* It is possible that during the processing of a query that one or more * errors could occur, each with their own potential causal relationship. * This means that when an XQJ application catches an * XQException, there is a possibility that there may be * additional XQException objects chained to the original * thrown XQException. To access the additional chained * XQException objects, an application would recursively * invoke getNextException until a null value is * returned. *
*
* An XQException may have a causal relationship, which * consists of one or more Throwable instances which caused * the XQException to be thrown. The application may * recursively call the method getCause, until a null * value is returned, to navigate the chain of causes. */ public class XQException extends Exception { private String vendorCode; XQException nextException; /** * Constructs an XQException object with a given message. * An optional chain of additional XQException objects may be set * subsequently using setNextException. * * @param message the description of the error. null indicates * that the message string is non existant */ public XQException(String message) { super(message); } /** * Constructs an XQException object with a given message * and vendor code. An optional chain of additional * XQException objects may be set subsequently using * setNextException. * * @param message the description of the error. null * indicates that the message string is non existant * @param vendorCode a vendor-specific string identifying the error. * null indicates there is no vendor * code or it is unknown */ public XQException(String message, String vendorCode) { super(message); this.vendorCode = vendorCode; } /** * Gets the vendor code associated with this exception or null * if none. A vendor code is a vendor-specific string identifying the failure in * a computer-comparable manner. For example, "NOCONNECT" if unable to * connect or "DIVBYZERO" if division by zero occurred within the XQuery. * * @return the vendor code string, or null if none available */ public String getVendorCode() { return vendorCode; } /** * Returns the next XQException in the chain or * null if none. * * @return the next exception, or null if none */ public XQException getNextException() { return nextException; } /** * Adds an XQException to the chain of exceptions. * * @param next the next exception to be added to the chain * of exceptions */ public void setNextException(XQException next) { nextException = next; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy