跟随 example with custom exception handling在 Grails 中,我得到了以下代码:
exceptionHandler.exceptionMappings = [
'my.project.AccessDeniedException': '/accessDenied',
'my.project.NoSessionException' : '/accessDenied',
'java.lang.Exception': '/errorProduction'
]
这适用于前两种类型的异常,但所有其他异常,如 GroovyPagesException , 不再由 Grails 处理,它们由 servlet 容器处理。
如何使用 Grails (1.3) 处理所有异常?
最佳答案
这个有效:
UrlMappings.groovy:
"500"(controller: 'errors', action: 'handle')
和 Controller :
class ErrorsController {
def handle = {
def exception = request.exception.cause.class
if(exception == my.project.NoSessionException ||
exception == my.project.AccessDeniedException)
render(view: '/accessDenied')
else
render(view: '/errorProduction')
}
}
关于java - 自定义 Grails 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818007/