Как перехватить исключения и перенаправить на страницу ошибки в Lift? - PullRequest
8 голосов
/ 09 февраля 2010

Как сделать обработчики ошибок в Lift?У меня есть HTML-страница с некоторыми фрагментами, если один из этих фрагментов выдает исключение, я хочу перехватить его и перенаправить на какую-нибудь дружественную страницу ошибок.

Как это сделать в полном порядке?Я не хочу ставить обработку ошибок для каждого фрагмента отдельно.Я ищу что-то вроде этого в Wicket.

1 Ответ

11 голосов
/ 10 февраля 2010

Если есть сомнения, проверьте LiftRules API .

Согласно этот пост что-то вроде этого должно работать:

LiftRules.exceptionHandler.prepend { 
  case ("production", Req(path, "", GetRequest), someException) => { 
    Log.error("MELT DOWN!!") 
    RedirectResponse("/") 
  } 
} 

Подпись типа обработчика исключений:

type ExceptionHandlerPF = PartialFunction[(Props.RunModes.Value, Req, 
  Throwable), LiftResponse] 
...