搜尋

首頁  >  問答  >  主體

c# - 專案開發中 異常在表現層擷取?

實際專案中,業務邏輯層 服務層 只管拋出例外,而不處理例外。
在表現層中在捕獲異常並處理(日誌記錄什麼的)?

像前後端分離的話這樣好像就不適用了,異常捕獲則需要在呼叫服務或邏輯的地方捕獲、?是這樣的嗎、

大家實際專案中異常處理 是怎麼樣的呢?還請大家指點指點! ! ! ! !

天蓬老师天蓬老师2752 天前964

全部回覆(2)我來回復

  • 漂亮男人

    漂亮男人2017-05-16 17:07:43

    服務層會做日誌記錄,一般來說異常拋出由表現層捕獲,但也會在服務層先捕獲做日誌再拋出

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-16 17:07:43

    首先需要明確一個理念:異常是拋給程式設計師的,而不是拋給使用者的。

    明確了這個理念之後就好理解了,為什麼需要在表現層處理異常——因為表現層是程式設計師和使用者之間的最後一道屏障,必須把異常包裝得漂漂亮亮的丟給客戶,也就是所謂的使用者體驗。

    然而,表現層絕對不是唯一要處理異常的地方,你所說的那些地方,包括底層、伺服器…都需要適當的處理異常。

    比如說,服務端提供的接口,一般要考慮調用者的體驗,所以不會直接拋異常出來,而是需要進行一定的封裝,同時在服務端記錄異常信息以便查錯。

    當然為了簡化和統一處理過程,通常會集中在某些層次,包括表現層對異常進行處理。

    回覆
    0
  • 取消回覆