2010-02-28 58 views

回答

0

您能否提供一些示例代碼,其中引發了一些RuntimeException? 如果你沒有告訴你確切的問題是什麼,很難正確回答你的問題。

至於我可以從這個角度告訴你,你應該BootStrap.groovy中看起來是這樣的:

class BootStrap { 
def exceptionHandler 

def init = { servletContext -> 

    exceptionHandler.exceptionMappings = 
     [ 'NoSuchFlowExecutionException' :'/my/doIt', 
     'java.lang.Exception' : '/error', 
     'org.you.YourCustomException' : '/yourErrorController/yourErrorAction' ] 
} 

def destroy = { } 

在另一邊,在你的代碼,你必須趕上發生的歷史RuntimeExceptions和transate他們進入您的自定義例外。

在這裏,我們有一個有趣的觀點:你爲什麼想要這樣做? 當RuntimeExceptions被拋出時重定向會不會更舒服?

+0

好吧,我有模板中的類似問題,我有一個標記,這個標記拋出異常,並以某種方式它不呈現錯誤控制器操作(定義在URL映射500)。相反,它呈現到錯誤,然後打印出我創建的錯誤控制器的輸出。如果網站上有錯誤,您不希望抓取工具捕獲重定向,然後500,那麼重定向是不正確的。您應該給他們對應的5xx代碼,我猜。如何清理輸出緩衝區並將其全部替換爲錯誤處理控制器操作的輸出? – Art79 2010-09-24 13:19:08

+0

我認爲這個問題最好確保你的taglib不會拋出任何異常 - 進一步說,如果是這樣,你爲什麼要呈現一個完整頁面的HTTP錯誤而不是一個自定義的錯誤消息taglib?你能提供任何taglib代碼嗎? – codeporn 2010-10-04 08:43:33