java中關於異常機制的認知和隨感

2021-07-26 14:54:37 字數 1197 閱讀 9123

突然發現好久沒有寫部落格了。雖然是感覺沒有什麼好寫的,但其實深究其原因還不是自己懶~或是自己最近沒有學到什麼像樣子的技術?

這乙個月中,我學習到的東西也不能說沒有。其中dubbo,zookeeper,對異常的加深,前端的一些小知識,算是有點可圈可點之處。

算了,廢話不多說了,直接進入主題吧,這篇文章沒有**,還望海涵!

說道異常,通常和其對比的就是錯誤error。但是這是簡單的,大家都知道錯誤是我們無法改正的,畢竟不是自己寫的,而是sun大神們自己弄出來的,或是你的環境的某些原因。因此錯誤就不談。而異常就是throwable下的另乙個大分支。

異常分類的話,基本少上就兩點(本人理解),乙個是jdk給你定義的,乙個是你自己定義的。

jdk給你定義的異常一般是:空指標異常,型別轉化異常,沒有找到相關類,強制轉換異常,資料庫異常,io流異常等等;而自己定義的異常就是要看你自己怎麼寫的。就比如我可以乙個

陌殤塵exception(極不不規範,不建議)。

我們通常覺得異常比較麻煩或是有點困難,並不是在於異常的分類,而是關於異常的處理。

不同情況使用不同的方法,不過筆者還是喜歡後者。

而對於try catch finally這三小弟來說,就沒有什麼太大的難度了。

一般**是寫在try中,如果中間出現了異常,就會執行catch中的**。而如果catch中還出現了異常並且沒有相關的處理,那就說明:童鞋,你的**得修改修改了,不能這麼不規範。而finally中一般都是關閉資源流的地方。所以不管是try執行完,還是catch執行,或是沒有執行,finally都是會執行的。

有乙個小點的說一下,就是try,catch, finally,暈倒return 會是什麼情況。這點上一段就說明了,只要開始了try,finally就肯定會執行。這意味著,try中的return也是要到finally執行完之後才能執行。這其中的過程是這樣的:

try中**跑呀跑,跑到一半看到return這個大漢說:「前面沒路了,給你個糖帶回去吧」。這個時候try的反應就是「呀!沒路了,要哦結束了,我得給我finally老爸說聲」。通知了finally之後,finally就趕緊收拾完東西,跑回去了,還把那個糖上交給老婆大人(函式)。然後整個函式(方法)結束。

而關於異常處理的這一點,現在再談。異常,其實就是乙個比較特殊的類而已。我們捕獲的異常就是個簡單的物件,裡面包含了一些軌跡呀,錯誤資訊呀什麼的。你只要把這個異常當做正常的物件進行接收,然後處理就行了。

說了這麼多,結果還沒有上幾行**,真是萬分的難受

Java中的異常機制

exception又分為執行時異常 runtime exception 和受檢查的異常 checked exception jvm預設處理異常的機制 程式設計師自己處理 1 注意一 try語句塊不可以省略,catch finally語句塊至少二取其一,可以兩個都要 2 注意二 try catch f...

Java異常捕獲機制中的finally

package day08 finally塊 finally塊定義在異常捕獲機制的最後 可以直接跟在try塊之後或最後乙個catch塊之後。finally塊中的 一定會執行,無論try塊中的 是否丟擲異常。所以通常會把釋放資源等操作放在finally中,例如關閉流等。author kaixu pub...

關於檔案的異常機制處理

1比較下面兩種,可以體會try.except的便利。遇到ioerror時可以跳過,並執行except ioerror 裡的內容。try fh open testfile11.txt r fh.write 這是乙個測試檔案,用於測試異常 except ioerror print error 沒有找到檔...