2010-02-09 3 views
8

리프트에서 오류 처리기를 만드는 방법은 무엇입니까? 일부 스 니펫이있는 html 페이지가 있는데, 그 스 니펫 중 하나가 예외를 throw하면 catch하고 일부 사용자에게 친숙한 오류 페이지로 리디렉션합니다.예외를 잡아서 리프트의 오류 페이지로 리디렉션하는 방법은 무엇입니까?

어떻게 잡을 수 있습니까? 나는 각 스 니펫에 오류 처리를 별도로 넣고 싶지 않다. 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

+0

@drozzy, 고정 API 2.3 문서로 링크 –

+2

RunModes 등을 구별하지 않고 응용 프로그램 내에서 처리되지 않는 예외를 잡으려는 경우 어떻게해야합니까? – Ivan

관련 문제