If an exception is thrown by a listener attached to the render response phase, the exception handler is unable to redirect to the error handler page as with other lifecycle phases.
The reason for this is that the render response execution has already flushed the response buffer, marking the response as committed. This can be resolved for before phase listeners by simply not rendering the response. For after phase listeners we may have to be content with logging the exception. I'll go ahead and check in the fix for before phase listeners and leave the issue open for now until a resolution can be reached for after phase listeners (or if its better to just leave it as is in that case).