2012-07-18 77 views
0

在我的路線文件中,我做了類似於 - GET/error Controllers.error.Error()對playframework2(java)中錯誤500的自定義處理?

但它給編譯錯誤。 在我error.java我已經做了類似的東西,

Public static error Error(Throwable t) 
{ 
Return internalservererror(views.html.myerrorpage.render()) 
} 

我想知道在routes文件寫錯誤500,我也想知道服務器是否會保留日誌中的錯誤的發生,怎麼運行的?

在此先感謝。

+0

什麼是編譯錯誤? – 2012-07-18 07:29:20

+0

它顯示路由中的編譯錯誤,值錯誤不是錯誤的成員。如果我做一些像Controllers.error.Error(Thow:t)那麼它會給 - 沒有發現類型t。 – ahly212 2012-07-18 07:54:00

回答

1

您可以覆蓋Global對象中的那些。

編輯:與受控的URL。

GlobalScala

override def onError(request: RequestHeader, ex: Throwable) = { 
    Redirect(routes.ErrorHandler.error()) 
} 

路線

GET /error  controllers.ErrorHandler.error() 
+0

雅我已經這樣做了,所有其他自定義錯誤對我來說工作正常。我需要知道在路由中寫什麼? – ahly212 2012-07-18 07:29:57

+0

這就是整個觀點。你無法知道什麼時候或在什麼頁面上會拋出錯誤。你必須做的是覆蓋onError方法,並且如果你想個人化URL,重定向到錯誤控制器。 – 2012-07-18 07:31:10

+0

你已經給出了上面的Scala代碼。你能用java代碼給我一個例子嗎? – ahly212 2012-07-18 07:41:19