課程
/后端開發
/Java
/Java高并發秒殺API之Service層
我覺得既然方法上都已經向上拋出異常了,為什么還要在方法里再捕獲異常。
2018-01-16
源自:Java高并發秒殺API之Service層 1-4
正在回答
樓上說的很對。老師對于異常處理有以下三步:
1.try catch 將所有的已知的未知的異常全部捕獲到后在最后一個catch里處理轉變為spring認識的運行期異常再在方法里拋出,這樣spring才會進行事務回滾
2.由于所有異常都被最后一個catch轉化為同一種異常:SeckillException,這樣就難以區分到底是哪些業務異常,所以在最后一個catch前加了兩個catch把相對應的每一種異常提前拋出
方法上拋出異常是為了讓調用者知道 該方法大概會拋出哪些異常,方法里捕獲異常是為了捕獲哪些 數據庫插入、修改、連接失敗這些操作的數據庫異常。
舉報
Java實現高并發秒殺API,介紹秒殺業務Service層的設計和實現
3 回答請問:最后的代碼,異常都捕獲了,為何會觸發回滾?
2 回答輸出異常的問題
1 回答秒殺接口的返回值和異常使用有些疑問?
3 回答TooManyResultsException異常
1 回答關于異常有沒有更好的解決辦法
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-02-07
樓上說的很對。老師對于異常處理有以下三步:
1.try catch 將所有的已知的未知的異常全部捕獲到后在最后一個catch里處理轉變為spring認識的運行期異常再在方法里拋出,這樣spring才會進行事務回滾
2.由于所有異常都被最后一個catch轉化為同一種異常:SeckillException,這樣就難以區分到底是哪些業務異常,所以在最后一個catch前加了兩個catch把相對應的每一種異常提前拋出
2018-01-17
方法上拋出異常是為了讓調用者知道 該方法大概會拋出哪些異常,方法里捕獲異常是為了捕獲哪些 數據庫插入、修改、連接失敗這些操作的數據庫異常。