Home » xml-commons-external-1.4.01-src » org.xml » sax » [javadoc | source]

    1   // SAX exception class.
    2   // http://www.saxproject.org
    3   // No warranty; no copyright -- use this as you will.
    4   // $Id: SAXException.java 226184 2005-04-08 10:53:24Z neeraj $
    5   
    6   package org.xml.sax;
    7   
    8   /**
    9    * Encapsulate a general SAX error or warning.
   10    *
   11    * <blockquote>
   12    * <em>This module, both source code and documentation, is in the
   13    * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
   14    * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
   15    * for further information.
   16    * </blockquote>
   17    *
   18    * <p>This class can contain basic error or warning information from
   19    * either the XML parser or the application: a parser writer or
   20    * application writer can subclass it to provide additional
   21    * functionality.  SAX handlers may throw this exception or
   22    * any exception subclassed from it.</p>
   23    *
   24    * <p>If the application needs to pass through other types of
   25    * exceptions, it must wrap those exceptions in a SAXException
   26    * or an exception derived from a SAXException.</p>
   27    *
   28    * <p>If the parser or application needs to include information about a
   29    * specific location in an XML document, it should use the
   30    * {@link org.xml.sax.SAXParseException SAXParseException} subclass.</p>
   31    *
   32    * @since SAX 1.0
   33    * @author David Megginson
   34    * @version 2.0.1 (sax2r2)
   35    * @see org.xml.sax.SAXParseException
   36    */
   37   public class SAXException extends Exception {
   38   
   39   
   40       /**
   41        * Create a new SAXException.
   42        */
   43       public SAXException ()
   44       {
   45   	super();
   46   	this.exception = null;
   47       }
   48       
   49       
   50       /**
   51        * Create a new SAXException.
   52        *
   53        * @param message The error or warning message.
   54        */
   55       public SAXException (String message) {
   56   	super(message);
   57   	this.exception = null;
   58       }
   59       
   60       
   61       /**
   62        * Create a new SAXException wrapping an existing exception.
   63        *
   64        * <p>The existing exception will be embedded in the new
   65        * one, and its message will become the default message for
   66        * the SAXException.</p>
   67        *
   68        * @param e The exception to be wrapped in a SAXException.
   69        */
   70       public SAXException (Exception e)
   71       {
   72   	super();
   73   	this.exception = e;
   74       }
   75       
   76       
   77       /**
   78        * Create a new SAXException from an existing exception.
   79        *
   80        * <p>The existing exception will be embedded in the new
   81        * one, but the new exception will have its own message.</p>
   82        *
   83        * @param message The detail message.
   84        * @param e The exception to be wrapped in a SAXException.
   85        */
   86       public SAXException (String message, Exception e)
   87       {
   88   	super(message);
   89   	this.exception = e;
   90       }
   91       
   92       
   93       /**
   94        * Return a detail message for this exception.
   95        *
   96        * <p>If there is an embedded exception, and if the SAXException
   97        * has no detail message of its own, this method will return
   98        * the detail message from the embedded exception.</p>
   99        *
  100        * @return The error or warning message.
  101        */
  102       public String getMessage ()
  103       {
  104   	String message = super.getMessage();
  105   	
  106   	if (message == null && exception != null) {
  107   	    return exception.getMessage();
  108   	} else {
  109   	    return message;
  110   	}
  111       }
  112       
  113       
  114       /**
  115        * Return the embedded exception, if any.
  116        *
  117        * @return The embedded exception, or null if there is none.
  118        */
  119       public Exception getException ()
  120       {
  121   	return exception;
  122       }
  123   
  124   
  125       /**
  126        * Override toString to pick up any embedded exception.
  127        *
  128        * @return A string representation of this exception.
  129        */
  130       public String toString ()
  131       {
  132   	if (exception != null) {
  133   	    return exception.toString();
  134   	} else {
  135   	    return super.toString();
  136   	}
  137       }
  138       
  139       
  140       
  141       //////////////////////////////////////////////////////////////////////
  142       // Internal state.
  143       //////////////////////////////////////////////////////////////////////
  144   
  145   
  146       /**
  147        * @serial The embedded exception if tunnelling, or null.
  148        */    
  149       private Exception exception;
  150       
  151       // Added serialVersionUID to preserve binary compatibility 
  152       static final long serialVersionUID = 583241635256073760L;
  153   }
  154   
  155   // end of SAXException.java

Home » xml-commons-external-1.4.01-src » org.xml » sax » [javadoc | source]