java - 自定义 Grails 异常处理

标签 java exception grails exception-handling groovy

跟随 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/

相关文章:

Java,Spring 测试,如何配置通常在 web.xml 中定义的日志记录?

c++ - 是否可以在 Exception 对象中存储有关错误的信息?

java - 创建 blob - java 堆空间

html - 发送到客户端之前,请在Grails 3中修改响应的呈现字符串。

jsp - HTTP 状态 405 - JSP 仅允许 GET POST 或 HEAD

grails - Grails:如何关闭BigDecimal输出的数千个分组

java - 等于 2 个 Java 对象

java - 如何避免库 jar 中的资源冲突?

java - 一个简单计算器代码的问题(Java)

java - Camel onException 之后的多个处理程序