Class ExceptionUtil


  • public class ExceptionUtil
    extends Object
    Utility methods for dealing with exceptions/throwables
    Since:
    POI 5.2.4
    • Method Detail

      • isFatal

        public static boolean isFatal​(Throwable throwable)
        It is important never to catch all Throwables. Some like InterruptedException should be rethrown. Based on scala.util.control.NonFatal.
        Parameters:
        throwable - to check
        Returns:
        whether the Throwable is a fatal error
      • rethrow

        public static void rethrow​(Throwable throwable)
                            throws Error,
                                   RuntimeException
        Designed to be used in conjunction with isFatal(Throwable). This method should be used with care.

        The input throwable is thrown if it is an Error or a RuntimeException. Otherwise, the method wraps the throwable in a RuntimeException and rethrows that.

        Parameters:
        throwable - to check
        Throws:
        Error - the input throwable if it is an Error.
        RuntimeException - the input throwable if it is an RuntimeException Otherwise wraps the throwable in a RuntimeException.