實際專案中,業務邏輯層 服務層 只管拋出例外,而不處理例外。
在表現層中在捕獲異常並處理(日誌記錄什麼的)?
像前後端分離的話這樣好像就不適用了,異常捕獲則需要在呼叫服務或邏輯的地方捕獲、?是這樣的嗎、
大家實際專案中異常處理 是怎麼樣的呢?還請大家指點指點! ! ! ! !
PHP中文网2017-05-16 17:07:43
首先需要明確一個理念:異常是拋給程式設計師的,而不是拋給使用者的。
明確了這個理念之後就好理解了,為什麼需要在表現層處理異常——因為表現層是程式設計師和使用者之間的最後一道屏障,必須把異常包裝得漂漂亮亮的丟給客戶,也就是所謂的使用者體驗。
然而,表現層絕對不是唯一要處理異常的地方,你所說的那些地方,包括底層、伺服器…都需要適當的處理異常。
比如說,服務端提供的接口,一般要考慮調用者的體驗,所以不會直接拋異常出來,而是需要進行一定的封裝,同時在服務端記錄異常信息以便查錯。
當然為了簡化和統一處理過程,通常會集中在某些層次,包括表現層對異常進行處理。