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:
    Serialized Form
    • Constructor Detail

      • 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 Detail

      • 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.