如何捕获异常并重定向到Lift中的错误页面?

Juh*_*älä 8 scala exception-handling lift

如何在Lift中创建错误处理程序?我有一些带有一些片段的html页面,如果其中一个片段引发异常我想抓住它并重定向到一些用户友好的错误页面.

如何以全能的方式做到这一点?我不想单独将错误处理放到每个代码段.我在Wicket 看起来像这样.

Juh*_*älä 11

如有疑问,请检查LiftRules API.

根据这篇文章,这样的事情应该有效:

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

异常处理程序类型的签名是:

type ExceptionHandlerPF = PartialFunction[(Props.RunModes.Value, Req, 
  Throwable), LiftResponse] 
Run Code Online (Sandbox Code Playgroud)

  • 如果我不想区分RunModes等并且只想捕获在应用程序内部不会处理的所有异常,该怎么办? (2认同)