摘要:知識點總結異常知識點總結異常為什么需要異常機制不是所有的問題都能在編譯時被發(fā)現(xiàn),有些問題在程序運行時才會暴露出來異常機制是面向對象的處理程序在運行時發(fā)生的狀況的手段使用異常機制不會打亂原有業(yè)務邏輯的用塊把可能出異常的代碼保護起來用一個
Java知識點總結(JavaIO-異常)
@(Java知識點總結)[Java, Java異常]
[toc]
為什么需要異常機制不是所有的問題都能在編譯時被發(fā)現(xiàn),有些問題在程序運行時才會暴露出來
異常機制是面向對象的處理程序在運行時發(fā)生的狀況的手段 使用異常機制不會打亂原有業(yè)務邏輯的 - 用try塊把可能出異常的代碼保護起來 - 用一個或多個catch塊捕獲發(fā)生的異常Throwable
可以用throw關鍵字拋出Throwable及其子類對象
相關方法getCause()
getMessage()
printStackTrace()
fillInStackTrace()
兩個子類
Error
AssertionError
VirtualMachineError
StackOverflowError
OutOfMemoryError
AWTError
Exception
運行時異常(非受檢異常) - RuntimeException
受檢異常
異常的使用 聲明異常修飾符 返回類型 方法名(參數(shù)列表) throws 異常1,異常2, ...
聲明的異常通常是受檢查的異常
聲明異常是為了讓方法的調用者處理異常
聲明異常時可以"無病呻吟"
子類重寫的方法不能比父類被重寫的方法聲明更多的異常
捕獲異常
try塊
將可能出現(xiàn)異常的代碼保護起來
在Java 7以前try后面必須要有catch塊或者finally塊,不能多帶帶使用
從Java 7開始可以使用TWR語法(try-with-resources)
try (需要自動釋放的資源) { ... }
catch塊
* 如果try塊中的代碼發(fā)生了異常那么就由catch塊捕獲異常并執(zhí)行相應的處理 * 如果try塊中的代碼沒有發(fā)生異常那么catch塊不會執(zhí)行 * 一個try塊后面可以跟上一個或多個catch塊用于處理不同類型的異常 * 如果多個catch塊捕獲的異常有父子關系那么要將捕獲子類異常的catch塊寫在前面 * 異常的捕獲遵循里氏替換原則 * catch塊中捕獲到的異常對象可以再次使用throw拋出
finally塊
* 總是執(zhí)行代碼塊,只要JVM沒有關閉不管程序正常還是異常都會執(zhí)行 * 最適合釋放打開的外部資源拋出異常(throw異常對象) 自定義異常
繼承RuntimeException
繼承Exception及其他子類
設計和使用原則不用異常機制處理正常業(yè)務邏輯
對可恢復的情況使用受檢異常,對編程錯誤使用運行時異常
優(yōu)先使用標準的異常類型
拋出異常的方法要有對應的文檔注釋
出現(xiàn)異常的方法要使對象保持在被調用之前的狀態(tài)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69257.html
摘要:知識點總結類知識點總結類類可以進行創(chuàng)建和刪除文件等操作。使用一個類,則必須向類的構造方法中傳遞一個文件路徑。 Java知識點總結(JavaIO-File類) @(Java知識點總結)[Java, JavaIO] [toc] File類 File類可以進行創(chuàng)建和刪除文件等操作。使用一個File類,則必須向File類的構造方法中傳遞一個文件路徑。 showImg(https://segme...
摘要:知識點總結類知識點總結后提供的輸入數(shù)據(jù)類,此類位于包中,不僅可以完成輸入數(shù)據(jù)的操作,還可以方便地對輸入數(shù)據(jù)進行驗證。 Java知識點總結(JavaIO- Scanner類 ) @(Java知識點總結)[Java, JavaIO] showImg(https://segmentfault.com/img/bV9dAj?w=838&h=396); JDK 1.5后提供的輸入數(shù)據(jù)類,此類位于...
摘要:知識點總結合并流類知識點總結合并流的主要功能是將兩文件的內容合并成一個文件字節(jié)在多文件的應用場景下非常高效,因為是將多個流串聯(lián)起來,形成一個流,便于操作 Java知識點總結(JavaIO- 合并流類 ) @(Java知識點總結)[Java, JavaIO] [toc] showImg(https://segmentfault.com/img/bV9a9X?w=853&h=164); 合...
摘要:知識點總結類知識點總結類用于從緩沖區(qū)中讀取內容,所有的輸入字節(jié)數(shù)據(jù)都將放在緩沖區(qū)中中定義的構造方法只能接收字符輸入流的實例,所以必須使用字符輸入流和字節(jié)輸入流的轉換類將字節(jié)輸入流轉變?yōu)樽址鳌? Java知識點總結(JavaIO- BufferedReader類) @(Java知識點總結)[Java, JavaIO] [toc] showImg(https://segmentfault....
摘要:知識點總結轉換流知識點總結是的子類,將一個字符流的輸出對象變?yōu)樽止?jié)流的輸出對象。將字節(jié)輸出流轉為字符輸出流字節(jié)流轉為字符流蘋果將字節(jié)輸入流轉為字符輸入流內容是 Java知識點總結(JavaIO-轉換流) @(Java知識點總結)[Java, JavaIO] [toc] showImg(https://segmentfault.com/img/bV82dQ?w=849&h=226); O...
閱讀 3445·2021-09-08 10:46
閱讀 1181·2019-08-30 13:17
閱讀 2359·2019-08-30 13:05
閱讀 1200·2019-08-29 15:29
閱讀 2883·2019-08-29 11:31
閱讀 533·2019-08-26 12:13
閱讀 1532·2019-08-26 11:42
閱讀 1818·2019-08-23 18:37