當(dāng)某一掃描器拋出 InputMismatchException 時(shí),該掃描器不會(huì)傳遞導(dǎo)致該異常的標(biāo)記,因此可以通過(guò)其他某種方法來(lái)獲取或跳過(guò)它。這是java API文檔中的原話。
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、雙塔ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的雙塔網(wǎng)站制作公司
當(dāng)然異常被處理程序就能運(yùn)行。當(dāng)異常發(fā)生時(shí),會(huì)執(zhí)行處理異常的代碼,然后繼續(xù)執(zhí)行。
由于運(yùn)行時(shí)異常的不可查性,為了更合理、更容易地實(shí)現(xiàn)應(yīng)用程序,Java規(guī)定,運(yùn)行時(shí)異常將由Java運(yùn)行時(shí)系統(tǒng)自動(dòng)拋出,允許應(yīng)用程序忽略運(yùn)行時(shí)異常。
我們可以將這些情況理解為必須解決的異常事件,否則程序?qū)o(wú)法繼續(xù)執(zhí)行。所以我們就有必要了解怎樣處理異常事件。 在異常事件的例子中最顯著的應(yīng)該是在程序執(zhí)行時(shí),運(yùn)行時(shí)的分配變成了零。
捕獲異常:(1)在Java程序運(yùn)行過(guò)程中系統(tǒng)得到一個(gè)異常對(duì)象是,它將會(huì)沿著方法的調(diào)用棧逐層回溯,尋找處理這一異常的代碼。
main()方法是虛擬機(jī)調(diào)用的,所以當(dāng)main()方法發(fā)生異常又沒(méi)處理的時(shí)候,就拋向虛擬機(jī),讓虛擬機(jī)來(lái)處理,而虛擬機(jī)的處理方式就是中斷你的程序。
java異常的一個(gè)簡(jiǎn)單例子,比如我有一個(gè)除法方法 public int divide(int a, int b) { return a / b;} 但是這就有一個(gè)問(wèn)題,當(dāng)b是0時(shí),程序會(huì)報(bào)錯(cuò)。
1、java.lang.FileNotFoundException文件未找到異常 當(dāng)程序試圖打開(kāi)一個(gè)不存在的文件進(jìn)行讀寫(xiě)時(shí)將會(huì)引發(fā)該異常。
2、java.lang.ArithmeticException 算術(shù)條件異常。譬如:整數(shù)除零等。java.lang.NullPointerException 空指針異常。當(dāng)應(yīng)用試圖在要求使用對(duì)象的地方使用了null時(shí),拋出該異常。
3、直接throws Exception 寫(xiě)在你的方法或者類(lèi)名后或者用try catch 在 Java 應(yīng)用程序中,異常處理機(jī)制為:拋出異常,捕捉異常。
4、檢查式異常:我們經(jīng)常遇到的IO異常及sql異常就屬于檢查式異常。對(duì)于這種異常,java編譯器要求我們必須對(duì)出現(xiàn)的這些異常進(jìn)行catch 所以 面對(duì)這種異常不管我們是否愿意,只能自己去寫(xiě)一堆catch來(lái)捕捉這些異常。
5、java運(yùn)行時(shí)異常是可能在java虛擬機(jī)正常工作時(shí)拋出的異常。java提供了兩種異常機(jī)制。一種是運(yùn)行時(shí)異常(RuntimeExepction),一種是檢查式異常(checked execption)。