org.logicalcobwebs.proxool

Class ProxoolException


public class ProxoolException
extends Exception

Proxool exception class that emulates the behaviour of the new cause facility in jdk 1.4. It is also known as the chained exception facility, as the cause can, itself, have a cause, and so on, leading to a "chain" of exceptions, each caused by another.

A cause can be associated with a throwable in two ways: via a constructor that takes the cause as an argument, or via the initCause(Throwable) method. New throwable classes that wish to allow causes to be associated with them should provide constructors that take a cause and delegate (perhaps indirectly) to one of the Throwable constructors that takes a cause.

Version:
$Revision: 1.2 $, $Date: 2003/03/03 11:11:58 $
Authors:
Christian Nedregaard (christian_nedregaard@email.com)
$Author: billhorsman $ (current maintainer)
Since:
Proxool 0.6

Constructor Summary

ProxoolException()
Constructs a new instance with null as its detail message.
ProxoolException(String message)
Constructs a new instance with the specified detail message.
ProxoolException(String message, Throwable cause)
Constructs a new instance with the specified detail message and cause.
ProxoolException(Throwable cause)
Constructs a new throwable with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause).

Method Summary

Throwable
getCause()
Returns the cause of this exception or null if the cause is nonexistent or unknown.
Throwable
initCause(Throwable cause)
Initializes the cause of this exception to the specified value.
void
printStackTrace()
Prints this ProxoolException and its backtrace to the standard error stream.
void
printStackTrace(PrintStream stream)
Prints this ProxoolException and its backtrace to the specified print stream.
void
printStackTrace(PrintWriter writer)
Prints this ProxoolException and its backtrace to the specified print writer.

Constructor Details

ProxoolException

public ProxoolException()

ProxoolException

public ProxoolException(String message)
Parameters:
message - the detail message. The detail message is saved for later retrieval by the getMessage() method.

ProxoolException

public ProxoolException(String message,
                        Throwable cause)
Constructs a new instance with the specified detail message and cause.

Note that the detail message associated with cause is not automatically incorporated in this throwable's detail message.


ProxoolException

public ProxoolException(Throwable cause)
Constructs a new throwable with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause). This constructor is useful for throwables that are little more than wrappers for other throwables.
Parameters:
cause - the cause (which is saved for later retrieval by the getCause() method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)

Method Details

getCause

public Throwable getCause()
Returns:
the cause of this throwable or null if the cause is nonexistent or unknown.

initCause

public Throwable initCause(Throwable cause)
Parameters:
cause - the cause (which is saved for later retrieval by the getCause() method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
Returns:
a reference to this ProxoolException instance.

printStackTrace

public void printStackTrace()
Prints this ProxoolException and its backtrace to the standard error stream. The backtrace for a ProxoolException with an initialized, non-null cause should generally include the backtrace for the cause.

printStackTrace

public void printStackTrace(PrintStream stream)
Prints this ProxoolException and its backtrace to the specified print stream.
Parameters:
stream - PrintStream to use for output

printStackTrace

public void printStackTrace(PrintWriter writer)
Prints this ProxoolException and its backtrace to the specified print writer.
Parameters:
writer - PrintWriter to use for output