日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Java异常日志的查询语句_java学习异常,断言和日志

發(fā)布時(shí)間:2024/9/19 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java异常日志的查询语句_java学习异常,断言和日志 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.異常處理的任務(wù)就是將控制權(quán)從錯(cuò)誤產(chǎn)生的地方轉(zhuǎn)移給能夠處理這種情況的錯(cuò)誤處理器

2.錯(cuò)誤分類

用戶輸入錯(cuò)誤

設(shè)備錯(cuò)誤

物理限制

代碼錯(cuò)誤

3.異常分類,所有的異常都是由Throwable繼承而來,有兩個(gè)分支,Error和Exception

Error類層次結(jié)構(gòu)描述類Java運(yùn)行時(shí)系統(tǒng)的內(nèi)部錯(cuò)誤和資源耗盡錯(cuò)誤,如果出現(xiàn)這樣的錯(cuò)誤,除了通告給用戶,并盡力使應(yīng)用程序安全的終止之外,在沒有其它辦法

Exception有兩個(gè)分支,一個(gè)分支派生于RuntimeException;另一個(gè)分支包含其它異常;劃分這兩個(gè)異常的規(guī)則是,由程序錯(cuò)誤導(dǎo)致的異常屬于RuntimeException,而程序本身沒有問題,但由于像I/O錯(cuò)誤這類問題導(dǎo)致的異常屬于其它異常

派生于RuntimeException的異常包含下面幾種情況

錯(cuò)誤的類型轉(zhuǎn)換

數(shù)組越界訪問

訪問null指針

不是派生于RuntimeException的異常包含下面幾種情況

試圖在文件尾部后面讀取數(shù)據(jù)

試圖打開一個(gè)不存在的文件

試圖根據(jù)給定的字符串查找Class對(duì)象,而這個(gè)字符串表示的類并不存在

4.如果存在RuntimeException異常,那么一定是你的問題

5.java語言規(guī)范將派生于Error類或RuntimeException類的所有異常稱為非受查異常,其它所有的異常稱為受查異常,編譯器將會(huì)核查是否為所有的受查異常提供了異常處理器

6.方法應(yīng)該在其首部聲明所有可能拋出的異常,這樣可以從首部反映出這個(gè)方法可能拋出那類受查異常

7.不必將所有可能拋出的異常都進(jìn)行聲明,遇到下面四種異常應(yīng)該拋出

調(diào)用一個(gè)拋出受查異常的方法

程序運(yùn)行過程中發(fā)現(xiàn)錯(cuò)誤,并且利用throw語句拋出一個(gè)受查異常

程序出現(xiàn)錯(cuò)誤

Java虛擬機(jī)和運(yùn)行時(shí)庫出現(xiàn)的內(nèi)部錯(cuò)誤

8.如果在子類中覆蓋了一個(gè)超類的方法,子類方法中聲明的受查異常不能比超類方法中聲明的異常更通用,如果超類方法中沒有拋出任何受查異常,那么子類也不能拋出任何受查異常

9.一旦方法拋出了異常,這個(gè)方法就不可能返回到調(diào)用者

10.如果某個(gè)異常發(fā)生的時(shí)候沒有在任何地方進(jìn)行捕獲,那么程序就會(huì)終止運(yùn)行,并在控制臺(tái)上打印出異常信息,其中包括異常的類型和堆棧的內(nèi)容

11.再次拋出異常與異常鏈,在catch語句中可以拋出一個(gè)異常,這樣做的目的是改變異常的類型;也有可能是想記錄一個(gè)異常,在將它重新拋出,不做任何改變

12.如果方法中的任何代碼拋出了一個(gè)在catch子句中沒有聲明的異常類型,那么這個(gè)方法就會(huì)立刻退出

13.不管是否有異常被捕獲,finally子句都會(huì)被執(zhí)行

14.try語句可以只有finally語句,而沒有catch語句

15.如果try塊拋出一個(gè)異常,finally塊中的處理也拋出一個(gè)異常,那么finally塊中的異常將會(huì)被拋出,原始的異常將會(huì)丟失;要改進(jìn)的話,在finally塊中繼續(xù)拋出原異常

16.帶資源的try語句塊(這樣的語句塊在正常退出或存在異常時(shí)都會(huì)調(diào)用res.close()方法)可以很好的處理上一種情況,原來的異常會(huì)重新拋出,close()方法拋出的異常會(huì)被抑制

17.堆棧軌跡是一個(gè)方法調(diào)用過程的列表,它包含了程序執(zhí)行過程中方法調(diào)用的特定位置

18.早拋出,晚捕獲

19.斷言,假設(shè)確信某個(gè)屬性符合要求,并且代碼的執(zhí)行依賴于這個(gè)屬性;斷言機(jī)制允許在測試期間向代碼中插入一些檢查語句,當(dāng)代碼發(fā)布時(shí),這些插入語句的檢測語句將會(huì)被自動(dòng)的移走

20.在默認(rèn)情況下,斷言被禁用;在啟用或禁用斷言時(shí)不必重新編譯程序,啟用或禁用斷言時(shí)類加載器的功能

21.斷言失敗是致命的,不可恢復(fù)的錯(cuò)誤,斷言檢查只用于開發(fā)和測試階段

22.記錄日志的常見用途是記錄那些不可預(yù)料的異常

總結(jié)

以上是生活随笔為你收集整理的Java异常日志的查询语句_java学习异常,断言和日志的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。