Class CatalogException

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    ReplicaCatalogException, SiteCatalogException, WorkCatalogException

    public class CatalogException
    extends java.lang.RuntimeException
    Class to notify of failures. Exceptions are chained like the SQLException interface.

    Here is a fragment of code to chain exceptions for later throwing:

     CatalogException rce = null;
     ... some loop code ... {
       ...
       if ( exception triggered ) {
         if ( rce == null ) rce = new CatalogException( reason );
         else rce.setNextException( new CatalogException(reason) );
       ...
     } ... loop end ...
     if ( rce != null ) throw rce;
     
    Here is a fragment of code to unchain exceptions in the client:

     try {
       ... operation ...
     } catch ( CatalogException rce ) {
       for ( ; rce != null; rce = rce.getNextException ) {
          ... do something with the payload ...
       }
     }
     
    Author:
    Karan Vahi, Jens-S. Vöckler
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      CatalogException()  
      CatalogException​(java.lang.String s)
      Constructs a CatalogException with the specified detailed message.
      CatalogException​(java.lang.String s, java.lang.Throwable cause)
      Constructs a CatalogException with the specified detailed message and a cause.
      CatalogException​(java.lang.Throwable cause)
      Constructs a CatalogException with the specified just a cause.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      CatalogException getNextException()
      Retrieves the exception chained to this CatalogException object.
      void setNextException​(CatalogException ex)
      Adds an CatalogException object to the end of the chain.
      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • m_next_exception

        private CatalogException m_next_exception
        chains the next exception into line.
    • Constructor Detail

      • CatalogException

        public CatalogException()
      • CatalogException

        public CatalogException​(java.lang.String s)
        Constructs a CatalogException with the specified detailed message.
        Parameters:
        s - is the detailled message.
      • CatalogException

        public CatalogException​(java.lang.String s,
                                java.lang.Throwable cause)
        Constructs a CatalogException with the specified detailed message and a cause.
        Parameters:
        s - is the detailled message.
        cause - is the cause (which is saved for later retrieval by the Throwable.getCause() method). A null value is permitted, and indicates that the cause is nonexistent or unknown.
      • CatalogException

        public CatalogException​(java.lang.Throwable cause)
        Constructs a CatalogException with the specified just a cause.
        Parameters:
        cause - is the cause (which is saved for later retrieval by the Throwable.getCause() method). A null value is permitted, and indicates that the cause is nonexistent or unknown.
    • Method Detail

      • setNextException

        public void setNextException​(CatalogException ex)
        Adds an CatalogException object to the end of the chain.
        Parameters:
        ex - the new exception that will be added to the end of the CatalogException chain.
        See Also:
        getNextException()