diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/util/Exceptions.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/util/Exceptions.java index 94dcccc..f3a547a 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/util/Exceptions.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/util/Exceptions.java @@ -26,7 +26,7 @@ public final class Exceptions { } public static boolean isApplicationException(final Throwable throwable) { - return throwable.getClass().isAnnotationPresent(ApplicationException.class); + return throwable != null && throwable.getClass().isAnnotationPresent(ApplicationException.class); } public static void handleToRuntimeException(final Throwable throwable) throws RuntimeException { diff --git a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/AbstractExceptionHandler.java b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/AbstractExceptionHandler.java index 98d8855..fd70422 100644 --- a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/AbstractExceptionHandler.java +++ b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/AbstractExceptionHandler.java @@ -68,7 +68,7 @@ public abstract class AbstractExceptionHandler extends ExceptionHandlerWrapper { exceptionContext = (ExceptionQueuedEventContext) iter.next().getSource(); root = getRoot(exceptionContext.getException()); - if (handleException(root, facesContext)) { + if (root == null || handleException(root, facesContext)) { iter.remove(); } } diff --git a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ApplicationExceptionHandler.java b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ApplicationExceptionHandler.java index acfb321..4a21fec 100644 --- a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ApplicationExceptionHandler.java +++ b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ApplicationExceptionHandler.java @@ -108,7 +108,7 @@ public class ApplicationExceptionHandler extends AbstractExceptionHandler { protected Throwable getRoot(final Throwable throwable) { Throwable root = throwable; - while (!Exceptions.isApplicationException(root)) { + while (root != null && !Exceptions.isApplicationException(root)) { root = root.getCause(); } -- libgit2 0.21.2