2010-02-09 2 views
8

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

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

ответ

11

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

По this post что-то, как это должно работать:

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

Сигнатура типа обработчика исключений:

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

404 Не найдено ссылок. – drozzy

+0

@drozzy, фиксированная ссылка API to point 2.3 docs –

+2

Что делать, если я не хочу отличать RunModes и т. Д. И только хочу поймать все исключения, которые не обрабатываются внутри приложения? – Ivan