grails 2.2.3 中的异常处理

问题描述 投票:0回答:1

我正在开发一个旧项目(基于jdk 7的grails 2.2.3)。我想使用 @controllerAdvice 之类的东西来进行异常处理,而不是在每个控制器方法中尝试捕获,并且我不确定它是否支持它。还有其他建议吗?

旧代码使用 try catch 块。

java groovy grails exceptionhandler controller-advice
1个回答
0
投票

您可以按照约定在控制器中声明异常处理方法,如下所示:

// grails-app/controllers/demo/DemoController.groovy
package demo
class DemoController {

    def someAction() {
        // do some work
    }

    def handleSQLException(SQLException e) {
        render 'A SQLException Was Handled'
    }

    def handleBatchUpdateException(BatchUpdateException e) {
        redirect controller: 'logging', action: 'batchProblem'
    }

    def handleNumberFormatException(NumberFormatException nfe) {
        [problemDescription: 'A Number Was Invalid']
    }
}

参见: https://grails.github.io/grails2-doc/2.5.x/guide/single.html#controllerExceptionHandling

© www.soinside.com 2019 - 2024. All rights reserved.