grails - Grails exceptionHandler是否可以支持以下错误处理流程

标签 grails error-handling

每当出现意外错误时,我都会将其移植到grails的rails应用程序中,我会自动拦截该错误并向用户显示一个表单,通知他们发生了错误并要求他们提供更多信息。同时,在呈现表单时,我写了堆栈跟踪以及有关谁登录数据库表的其他信息。然后,如果提交了表单,则将该信息添加到错误报告中。

我无法从exceptionHandler文档和BootStrap示例中看出,是否可以让我获取所有信息,包括各种 session 和请求参数,然后将它们填充到数据库中,然后发布表单。

有什么想法吗?

最佳答案

您可以使用 Controller 来处理异常,而不是直接通过更改grails-app/conf/UrlMappings.groovy中的“500”代码映射直接进入error.gsp

"500"(view:'/error')


"500"(controller: 'errors', action: 'error')

运行'grails create-controller errors'并添加'error'操作:
class ErrorsController {

   def error = {
      def exception = request['javax.servlet.error.exception']?.cause?.cause
      if (exception) {
         // handle exception
      }
   }
}

由于您现在在 Controller 中,因此您可以访问请求等,并执行您喜欢的任何数据库或其他后处理工作。

关于grails - Grails exceptionHandler是否可以支持以下错误处理流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2021429/

相关文章:

vba - 数据透视表对象排序循环中的错误处理

bash 通过电子邮件发送错误

validation - 使用解析器时如何在graphql-spring-boot中引发多个验证错误?

string - 返回结果,带无引号的字符串

grails - Grails-如何在集合集合中获取部分值?

javascript - 使用正则表达式在 g :TextField 中进行验证

mongodb - Grails 3.1-找不到域类的编解码器

grails - Grails在数据库优先模式下访问日期等于的数据

php - fatal error : Call to a member function query() - php

sql - grails:在gsp中显示对象的字段