[
https://issues.apache.org/jira/browse/WW-4433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14255642#comment-14255642
]
Lukasz Lenart commented on WW-4433:
-----------------------------------
[~afattahi] but fix for this issue is quite simple and it's always better to
test even 2.3.20 as you can discover some other problems that won't be
addressed in 2.3.21 (because you didn't mention them ;-))
> ConventionUnknownHandler change breaks exception handling in interceptors.
> --------------------------------------------------------------------------
>
> Key: WW-4433
> URL: https://issues.apache.org/jira/browse/WW-4433
> Project: Struts 2
> Issue Type: Bug
> Components: Core Interceptors, Documentation, Plugin - Convention
> Affects Versions: 2.3.20
> Reporter: Joseph Wolschon
> Assignee: Lukasz Lenart
> Priority: Minor
> Fix For: 2.3.21
>
>
> Struts 2.3.20 appears to have caused a regression that prevents exceptions
> thrown from convention-plugin actions from reaching
> ExceptionMappingInterceptor. This breaks exception handling when using the
> convention-plugin.
> To Reproduce:
> * Generate a project struts2-archetype-convention archetype using 2.3.20
> * Throw exception in the action. With 2.3.20, a blank page is shown.
> * Change to 2.3.16.3 and you will get the standard struts2 error page.
> The breaking change appears to have been made in WW-4331. This causes error
> interceptor code to break (showing a blank page when exceptions are thrown)
> as DefaultActionInvocation does not catch an exception from the default
> UnknownHandler implementation execution, which would previously re-throw the
> original exception back up for the interceptors to catch.
> Workaround:
> We've created our own UnknownHandler implementation that just throws a new
> NoSuchMethodException, allowing DefaultActionInvocation to re-throw the
> original exception so that our error interceptor can again catch it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)