2012-03-12 54 views
2

我正在尋找報告內部服務錯誤(狀態碼500)的最佳做法,當我的RESTful Web服務發生意外出現問題時。報告RESTful Web服務的內部服務錯誤500的最佳做法?

我並不是指其他狀態代碼所涵蓋的條件,而是指我的應用程序內部出現真正特殊的意外錯誤。

顯示詳細的錯誤信息(如異常詳細信息)可能有益於調試,但這會暴露我的服務器的內部細節。這似乎是一件壞事(tm)。

也許最好只報告帶有時間戳的高級錯誤消息?錯誤細節當然應該在服務器日誌中。

有沒有什麼好的例子可以獲得靈感?

回答

3

不要在外部顯示詳細的調試信息。一個好的方法是創建一個唯一的錯誤事件散列/標識,並表示它。理想情況下,可以使用id來查找更多詳細信息。這是一個example of how YouTube這樣做。然而,他們對長度有點瘋狂。

+2

也知道[異常屏蔽](http://www.soapatterns.org/exception_shielding.php) – 2012-03-13 06:58:59