2010-02-09 44 views
8

如何在Lift中设置错误处理程序?我有一些片段的HTML页面,如果其中一个片段引发了一个异常,我想赶上它,并重定向到一些用户友好的错误页面。如何在Lift中捕获异常并重定向到错误页面?

如何以全能的方式做到这一点?我不想将错误处理分别放在每个片段中。我在Wicket看起来像this

回答

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 2011-05-16 12:29:51

+0

@drozzy,固定的API链接到第2.3点docs – 2011-05-16 13:00:51

+2

如果我不想区分RunModes等并只捕获所有发生在应用程序内部不能处理的异常? – Ivan 2011-11-25 11:49:11

相关问题