Grails уже делает это для вас. Если исключение всплывает в контейнере, оно обрабатывается как HTTP 500 (Внутренняя ошибка сервера). С помощью conf/URLMappings.groovy
вы можете контролировать то, что происходит, когда происходит состояние ошибки.
Вот сопоставление по умолчанию для 500 ответов (из conf/URLMappings.groovy
):
"500"(view:'/error')
Указывает приложению визуализировать представление error
, которое находится в views/error.gsp
. Если вы хотите изменить это, вы можете. Вы можете перенаправить на контроллер / действие, если хотите:
// will go to 'custom' action of ErrorController, which you would create yourself
"500"(controller: "error", action: "custom")
Вы можете настроить это для любого статуса ответа HTTP. См. Документацию URL Mappings . Если вам нужен более точный контроль над различными исключениями, которые могут встретиться, посмотрите раздел «Декларативная обработка ошибок» в указанных выше документах.