一、處理異常的第二種方法 1.try......catch... 語法: try{ 可能出現異常的代碼; }catch{ 處理異常的代碼; }catch{ 註意: (1)引入了什麼異常,catch裡面就要寫清楚,出現了什麼異常該怎麼辦; (2)異常也可以有父類和子類,按照從上到下的順序進行捕捉;因此 ...
一、處理異常的第二種方法
1.try......catch...
語法:
try{ 可能出現異常的代碼; }catch{ 處理異常的代碼; }catch{
註意:
(1)引入了什麼異常,catch裡面就要寫清楚,出現了什麼異常該怎麼辦;
(2)異常也可以有父類和子類,按照從上到下的順序進行捕捉;因此當寫異常的時候需要按照從上到下,從小到大(也就是從子類異常到父類異常)
(3)try,,,catch....中最多執行一個catch語句塊,執行結束之後try.....catch....就結束了。
package com.bjpowernode.java_learning; import java.io.*; public class D63_1_TryCatchExercise { public static void main(String[] args) { try { FileInputStream f1 = new FileInputStream("C:\\user"); f1.read(); }catch(ArithmeticException a) { }catch(FileNotFoundException f) { } } }
對於throws處理的異常,要對代碼塊中可能出現的異常進行覆蓋,否則就會報錯,例如:原因就是沒有處理read()方法引入的IOException異常。
package com.bjpowernode.java_learning; import java.io.*; public class D63_1_TryCatchExercise { public static void main(String[] args) throws FileNotFoundException{ FileInputStream f1 = new FileInputStream("C:\\user"); f1.read(); } }
改正方式就是改一行代碼
public static void main(String[] args) throws FileNotFoundException,IOException
二、getMessage與printStackTrace方法
package com.bjpowernode.java_learning; import java.io.*; public class D63_2_MethodOfgetMessageAndprintStackTrace { public static void main(String[] args) { try { FileInputStream f1 = new FileInputStream("C:\\fjdoa"); }catch (FileNotFoundException e) { //列印異常堆棧信息 //一般情況下都會使用該方法去調試程式 e.printStackTrace(); //下麵這個方法與上面這個方法的功能其實是一樣的,但是通常使用上面的方法,因為上面的方法能夠列印出更加詳細的信息 String msg = e.getMessage(); System.out.println(msg); } System.out.println("ABC"); } }
三、源碼:
D63_1_TryCatchExercise.java
D63_2_MethodOfgetMessageAndprintStackTrace.java
https://github.com/ruigege66/Java/blob/master/D63_1_TryCatchExercise.java
https://github.com/ruigege66/Java/blob/master/D63_2_MethodOfgetMessageAndprintStackTrace.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料