2014-08-31 72 views
0

在我的grails控制器或服務的內部,某些事情正在拋出一個例外(我假設)。結果是網頁只顯示「發生了錯誤」,這沒有多大幫助。grails輸出「發生錯誤」,如何顯示實際錯誤?

關於grails的一個奇怪的事情是它似乎沒有拋出任何異常,所以我不能放入try/catch並執行諸如記錄錯誤或向堆棧發送帶有堆棧跟蹤的顯式錯誤消息給用戶。

任何想法如何用grails完成這個任務?當我搜索時,不幸的是,我只能找到顯示驗證錯誤的信息。我相信有一個簡單的方法!

因爲我不知道實際發生了什麼樣的異常,或者爲什麼我需要用堆棧跟蹤來捕獲和顯示任何異常。

回答

1

好的,答案其實很簡單。你只需要在你的視圖的根目錄下創建一個error.gsp文件,使用下面的代碼(除了env之外,還會輸出除外:

<!DOCTYPE html> 
<html> 
    <head> 
     <title><g:if env="development">Grails Runtime Exception</g:if><g:else>Error</g:else></title> 
     <meta name="layout" content="main"> 
     <g:if env="development"><link rel="stylesheet" href="${resource(dir: 'css', file: 'errors.css')}" type="text/css"></g:if> 
    </head> 
    <body> 
    <h2>Time: <g:formatDate format="yyyy-MM-dd hh:mm:ss" date="${new Date()}"/> </h2> 
     <g:renderException exception="${exception}" /> 

    </body> 
</html>