.getAccessDeniedPage()));
}
else if (e instanceof ResponseIOException)
{
logger.error("Connection lost, give up responding.", e);
return new EmptyRequestHandler();
}
else
{
final UnexpectedExceptionDisplay unexpectedExceptionDisplay = application.getExceptionSettings()
.getUnexpectedExceptionDisplay();
logger.error("Unexpected error occurred", e);
if (IExceptionSettings.SHOW_EXCEPTION_PAGE.equals(unexpectedExceptionDisplay))
{
Page currentPage = extractCurrentPage();
return createPageRequestHandler(new PageProvider(new ExceptionErrorPage(e,
currentPage)));
}
else if (IExceptionSettings.SHOW_INTERNAL_ERROR_PAGE.equals(unexpectedExceptionDisplay))
{
return createPageRequestHandler(new PageProvider(
application.getApplicationSettings().getInternalErrorPage()));
}
else
{
// IExceptionSettings.SHOW_NO_EXCEPTION_PAGE
return new EmptyRequestHandler();
}
}
}