Java的異常/錯誤機制

來源:互聯網
上載者:User

Java的異常/錯誤機制

Javar
異常主要有兩種類型:受檢異常和非受檢異常。

異常到底如何用?為了什麼目的去用?

受檢異常一般用在API層,要求用戶端必須考慮在進行語句調用時必須考慮異常情況,如果出現異常了用戶端程式需要依據自身的情境處理異常(記錄、向上層拋出、跳轉到其它處理策略)。

更細緻的考慮是記錄異常的策略?向上層拋出異常的策略?跳轉其它分支的策略?

記錄異常的策略?

  1. 記錄異常的目的就是快速定位問題。
  2. 不需要重複的記錄。
  3. 在最初產生異常的地方記錄。
  4. 需要統一風格,考慮建設Tlog系統。

拋出異常的策略?

異常是有層級結構的,一味簡單的拋出異常是沒有任何意義的,關鍵的地方就是

  1. 整個處理流程是怎麼個樣子?
  2. 整個調用流程是怎麼個情況?

在整個流程的某個環節會產生什麼樣的異常是可以被預先約定的。

比如,

  1. 在UI呈現層出現的異常和使用者關係密切,異常資訊通常不會是堆棧輸出的方式。
  2. 在商務邏輯層出現的異常與業務和開發人員關係密切,此外這一層間接影響到UI層的異常處理,通常這一層級的異常資訊是帶有業務級、技術級混合的異常資訊,這一層級的異常資訊包含著業務標記資訊和部分堆棧資訊。
  3. 底層技術支撐這一層主要和提供的API的調用者關係密切,這一層的異常資訊以堆棧資訊為主。

這是可以約定的!

我們定義一套規則約束這種分層結構的軟體項目,在UI層、邏輯層、技術支撐層分別定義屬於每層的異常處理類(類的粒度可以自由掌握但一定要有規則),涉及到層與層之間異常資料的過濾和傳遞,利用繼承與多態我們完全可以平滑的完成類的轉換,因為我們需要的是異常資訊的交換而不需要在意到底是哪個類,類的作用只是限於代碼結構層級的約束而已。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.