Java中的異常

     廢話少說,今天來看看Java的反常處理。
  Java的反常
  議論Java的反常以前,先看看反常處理程序能帶來什麼優勢?明顯的優勢是降低過錯處理代碼的複雜度。Java中的反常處理機制能幫助開發者簡化處理反常的本錢,假如產生反常了可以有兩種方式處理,第一種爲捕捉反常並測驗康復,比方網絡反常,超時反常等,另外一種即是向高層調用拋出反常。
  Java中的反常處理機制即是用要害字try-catch-finally,throw或許throws處理,下面就分別說明使用方:
  Try代碼塊用於監聽程序是否呈現問題,也即是監聽有可能產生問題的代碼塊Catch捕捉反常,可以指定特定反常進行捕捉Finally要害字後面的代碼塊,在try-catch後總會執行,用來封閉文件,封閉鏈接等。Throw拋出反常,假如我們不想處理這個反常,可以經過throw拋出,也可以轉換成新的反常拋出Throws給辦法簽名指定可能拋出的反常。Java的反常的基類是Throwable,這個類完成了Serializable接口,所以是可以序列化的,並且提供了存儲和打印執行反常棧的信息。
  Throwable有兩個子類完成類,一個是Error,另外一個即是Exception。Error表明不行康復的過錯,屬於JVM內部的過錯,比方體系內存溢出了;Exception代表體系呈現了一些問題,可是還不至於體系徹底不行用,經過重試或許改動輸入參數有可以康復的反常,有包括查看反常和非查看反常。
  查看反常(ChekedEcxception):查看反常承繼於Exception,這類反常假如不處理在編譯期間就會報錯,比方數據庫鏈接反常DataAccessException,文件不存在反常FileNotFoundException,IO反常IOException等。非查看反常:程序運轉中產生的反常,在程序的編譯時分可以疏忽的反常,比方RuntimeException,或許承繼與RuntimeException的反常。
  查看和非查看反常
  如下是一個讀取文件的例子,在讀取文件的時分會產生FileNotFoundExcepton和IOException,我們都進行了捕捉,最終在finally中封閉了翻開的文件。
  一個自界說反常實例
  自界說反常
  在開發中發現JDK提供的反常沒法知足如今的需求,可以經過集成已有的反常類來自界說反常。
  在自界說反常的時分,是界說查看反常還是非查看反常?如下是我的看法,
  假如一個問題需求顯現的處理,比方調用其餘體系接口的時分,服務不行用,就可界說爲查看反常,自界說的查看反常是要求在編程的時分有必要處理的。
  業務的反常經過經過承繼RuntimeException來界說非查看反常,比方參數過錯,成果找不到等,這類反常都是在運轉期間產生的,我們不用在調用的地方顯現的處理,可以在一個地方統一的處理。
  下面就定一個查看參數的反常類承繼於RuntimeException,界說一個過錯code用來記載過錯的代碼。














數據庫

相關文章
相關標籤/搜索