我正在寫一個使用Spring 3
框架的web應用程序。考慮一下我擁有N個控制器的情況。每個控制器將請求委託給公開的服務並獲得響應並返回給用戶。捕獲意外異常是否是一種好的做法?
我想知道是否有更好的方法來捕獲意外的運行時異常拋出控制器代碼。我不想爲每個控制器方法編寫如下所示的內容。或者它是唯一的方法?
try {
//call the service
} catch(ServiceException serviceEx) {
//do process for know exception
} catch(Exception ex) {
//return generic error message.
}
我知道我們可以使用Spring Exception resolver。但是當意外錯誤發生時,我不想顯示不同的錯誤頁面。我想在UI上顯示一些通用的錯誤消息,作爲我的小部件的一部分?
編輯:
我也不想我的用戶看到異常堆棧跟蹤試圖執行某些操作時。
孫大信
是否有預期的異常? –
@阿米爾:一個「預期」的例外是你特別捕捉的例外。你期待它,這就是爲什麼你寫了一個'catch'子句。意想不到的是你不會捕獲的,這可能會以堆棧跟蹤的形式出現在UI中。 – Gabe