edu.isi.pegasus.planner.catalog

## Class CatalogException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - edu.isi.pegasus.planner.catalog.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

### Field Summary

Fields
`private CatalogException` `m_next_exception` chains the next exception into line.

### Constructor Summary

Constructors
Constructor and 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
`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

#### getNextException

    public CatalogException getNextException()

Retrieves the exception chained to this `CatalogException` object.

Returns:
  the next `CatalogException` object in the chain; `null` if there are none.
See Also:
  `setNextException( CatalogException )`

#### 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()`