如何实现全局后端异常处理程序

时间:2016-06-03 10:28:44

标签: grails exception-handling global

我有grails申请。

我想实现全局grails后端异常处理程序。

表示如果后端应用程序中存在任何异常,如NullPointer,ArrayIndexOutOfBounds或引发任何其他异常,则应执行某些代码。我们如何在grails中做到这一点2.4.4。

2 个答案:

答案 0 :(得分:2)

您可以使用UrlMappings对其进行攻击。 来自documentation

static mappings = {
"403"(view: "/errors/forbidden")
"404"(view: "/errors/notFound")
"500"(controller: "errors", action: "illegalArgument",
     exception: IllegalArgumentException)
"500"(controller: "errors", action: "nullPointer",
     exception: NullPointerException)
"500"(controller: "errors", action: "customException",
     exception: MyException)
"500"(view: "/errors/serverError")
}
  

使用此配置,IlrorsController中的illegalArgument操作将处理IllegalArgumentException,nullPointer操作将处理NullPointerException,并且customException操作将处理MyException。其他异常将由catch-all规则处理,并使用/ errors / serverError视图。

答案 1 :(得分:0)

对控制器使用Grails声明性异常处理

def handleLException(Exception e) {
    render "Opps: ${e.message}"
}

此处提供更多信息:http://docs.grails.org/2.4.5/guide/single.html#controllerExceptionHandling