您好,登錄后才能下訂單哦!
Java異常類型及處理方法是怎樣的,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
異常結(jié)構(gòu)為:
Throwable
為頂級父類
子類Error
為嚴(yán)重報(bào)錯(cuò) ,
子類Exception
就是我們所說的異常了
java
中處理異常的有五個(gè)關(guān)鍵字: try
、catch
、finally
、 throw
、throws
throw
拋出異常 , thorws
聲明異常 , 捕獲異常 try_catch
public class SegmentFault { public static void main(String[] args) { /** * throw 拋出異常 * 格式 - throw new 異常類名(參數(shù)); * */ // 創(chuàng)建一個(gè)數(shù)組 int [] arr = { 2, 4, 56 ,5}; // 根據(jù)索引找到對應(yīng)的元素 int index = 4; int element = getElement(arr,index); System.out.println(element); System.out.println("owo"); // 運(yùn)行錯(cuò)誤 無法繼續(xù) } /** throw 拋出異常 提醒你必須處理 */ public static int getElement(int [] arr, int index){ // 判斷數(shù)組索引是否越界 if (index < 0 || index > arr.length -1){ /** * 條件滿足越界 當(dāng)執(zhí)行到throw拋出異常后就無法運(yùn)行,結(jié)束方法并且提示 * */ throw new ArrayIndexOutOfBoundsException("數(shù)組下標(biāo)越界異常"); } int element = arr[index]; return element; } }
異常結(jié)果為:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 數(shù)組下標(biāo)越界異常
public class SegmentFault{ public static void main(String [] args){ read("a.txt"); } public static void read(String path) throws FileNotFoundException, IOException { if (!path.equals("a.txt")){ // 如果沒有a.txt // 如果不是 a.txt 該文件不存在 是一個(gè)錯(cuò)誤 也就是異常 throw throw new FileNotFoundException("文件不存在"); } if (!path.equals("b.txt")){ throw new IOException("文件不存在"); } } }
異常結(jié)果為:
Exception in thread "main" java.io.IOException: 文件不存在
try
、catch
、finally
+ Throwable
中的常用方法。
Throwable
常用方法如下:
printStackTrace()
: *打印異常詳細(xì)信息。
getMessage()
: 獲取異常原因。
toString():
獲取異常類型及描述信息。
public class Demo03 { public static void main(String[] args) { /** * try- catch 捕獲異常 * */ // 可能會(huì)生成的異常 try { // 捕獲或者聲明 read("b.txt"); } catch (FileNotFoundException e) { // 使用某種捕獲,實(shí)現(xiàn)對異常的處理 System.out.println(e); /** * Throwable中的查看方法 * getMessage 獲取異常信息 提示給用戶看的 * toString 獲取異常的類型和異常描述(不用) * printStackTrace * */ System.out.println("Throwable常用方法測試"); System.out.println(e.getMessage()); // 文件不存在 System.out.println(e.toString()); e.printStackTrace(); } finally { System.out.println("不管程序怎樣,這里都會(huì)被執(zhí)行"); } System.out.println("over"); } public static void read(String path) throws FileNotFoundException { if (!path.equals("a.txt")) { throw new FileNotFoundException("文件不存在"); } } }
輸出結(jié)果為:
java.io.FileNotFoundException: 文件不存在
-----Throwable常用方法測試------
文件不存在
java.io.FileNotFoundException: 文件不存在
不管程序怎樣,這里都會(huì)被執(zhí)行
注意事項(xiàng) :try
、 catch
、 finally
、都不可以單獨(dú)使用
關(guān)于Java異常類型及處理方法是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。