org.mapfish.print.ExceptionUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of print-lib Show documentation
Show all versions of print-lib Show documentation
Library for generating PDFs and images from online webmapping services
package org.mapfish.print;
/**
* Util class for exception handling.
*/
public final class ExceptionUtils {
private ExceptionUtils() {
}
/**
* Returns a {@link RuntimeException} for the given exception.
*
* @param exc An exception.
* @return A {@link RuntimeException}
*/
public static RuntimeException getRuntimeException(final Throwable exc) {
Throwable e = exc;
while (e.getCause() instanceof RuntimeException) {
e = e.getCause();
}
if (e instanceof RuntimeException) {
return (RuntimeException) e;
} else {
return new RuntimeException(exc);
}
}
/**
* Because exceptions might get re-thrown several times, an error message like
* "java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException:
* java.lang.IllegalArgumentException: ..." might get created. To avoid this, this method finds the root
* cause, so that only a message like "java.lang.IllegalArgumentException: ..." is shown.
*
* @param e A throwable.
* @return root Throwable
*/
public static Throwable getRootCause(final Throwable e) {
Throwable rootCause = e;
while (rootCause.getCause() != null && rootCause.getCause() != rootCause) {
rootCause = rootCause.getCause();
}
return rootCause;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy