Package gnu.mapping

Class WrappedException

All Implemented Interfaces:
Serializable
Direct Known Subclasses:
WrongType

public class WrappedException extends RuntimeException
Encapsulate some Exception inside a RuntimeException. Inspired by org.xml.sax.SAXException written by David Megginson.
See Also:
  • Constructor Details

    • WrappedException

      public WrappedException()
      Create a new WrappedException.
    • WrappedException

      public WrappedException(String message)
      Create a new WrappedException.
      Parameters:
      message - The error or warning message.
    • WrappedException

      public WrappedException(Throwable e)
      Create a new WrappedException wrapping an existing exception.

      The existing exception will be embedded in the new one, and its message will become the default message for the WrappedException.

      Parameters:
      e - The exception to be wrapped in a WrappedException.
    • WrappedException

      public WrappedException(String message, Throwable e)
      Create a new WrappedException from an existing exception.

      The existing exception will be embedded in the new one, but the new exception will have its own message.

      Parameters:
      message - The detail message.
      e - The exception to be wrapped in a WrappedException.
  • Method Details

    • getException

      public Throwable getException()
      Return the embedded exception, if any.
      Returns:
      The embedded exception, or null if there is none.
    • toString

      public String toString()
      Convert this exception to a string.
      Overrides:
      toString in class Throwable
      Returns:
      A string version of this exception.
    • wrapIfNeeded

      public static RuntimeException wrapIfNeeded(Exception ex)
      Coerce argument to a RuntimeException. Using rethrow may be preferable as it doesn't require wrapping an Error.
    • rethrow

      public static RuntimeException rethrow(Throwable ex)
      Re-throw as a non-checked exception. This method never returns, in spite of the return type. This allows the call to be written as: throw WrappedExcepton.rethrow(ex) so javac and the verifier can know the code doesn't return.