1、處理異常的兩種方式java
1.全部的編譯時異常,要求程序員在編寫程序階段,必須對它進行處理,若是不處理的話,編譯就會沒法經過,處理異常有兩種方法:捕捉和聲明拋出。node
2.捕捉:try.....catch.......git
3.聲明拋出就是方法聲明的位置上使用throws關鍵字拋出異常。程序員
4.全部RuntimeException的子類都是運行時異常,運行時異常程序員在編寫階段不須要對它進行處理。github
5.編譯時異常發生的概率比較高;運行時異常發生的概率比較低。微信
6.全部的Exception的直接子類都是「編譯時異常」。學習
2、處理異常有兩種方式大數據
1.聲明拋出 throwsui
2.捕捉 try.....catch.......spa
如下程序演示第一種方式:聲明拋出,在方法聲明的位置上使用throws關鍵字向上拋出異常。
package com.bjpowernode.java_learning; import java.io.*; public class D62_1_ { public static void main(String[] args) throws FileNotFoundException{ //建立一個文件輸入流,讀取文件 //java編譯器是如何知道如下的代碼在執行過程可能存在異常 //java編譯器是如何知道這個異常發生的概率比較高呢? //java編譯器不是那麼智能,由於FileInputStream這個構造方法在聲明的位置上使用了 //throws FileNotFoundException; //FileInputStream fls = new FileInputStream("C:\\Users\\lenovo1\\Desktop\\微信公衆號運營-Java\\Java連載51-super關鍵字.docx"); // try{ m1(); //使用throws處理異常是否是真正處理異常而是推卸責任 //誰調用就會跑給誰 //上面的m1方法若是出現了異常,由於採用的是向上拋出,給了JVM,JVM遇到這個異常 //就會退出JVM,下面的這個代碼不會執行 // }catch(FileNotFoundException e) { // System.out.println("出現了異常"); // } } public static void m1() throws FileNotFoundException{ m2(); } public static void m2() throws FileNotFoundException{ m3(); } public static void m3() throws FileNotFoundException{ //FileNotFound構造方法聲明位置上使用了throws(向上拋出) new FileInputStream("E:\\04.image\\timg.jpgu"); } }
異常出現了就一層一層往上拋。
再看一下使用try....catch......來處理這些異常
public static void main(String[] args) { //建立一個文件輸入流,讀取文件 //java編譯器是如何知道如下的代碼在執行過程可能存在異常 //java編譯器是如何知道這個異常發生的概率比較高呢? //java編譯器不是那麼智能,由於FileInputStream這個構造方法在聲明的位置上使用了 //throws FileNotFoundException; //FileInputStream fls = new FileInputStream("C:\\Users\\lenovo1\\Desktop\\微信公衆號運營-Java\\Java連載51-super關鍵字.docx"); try{ m1(); //使用throws處理異常是否是真正處理異常而是推卸責任 //誰調用就會跑給誰 //上面的m1方法若是出現了異常,由於採用的是向上拋出,給了JVM,JVM遇到這個異常 //就會退出JVM,下面的這個代碼不會執行 }catch(FileNotFoundException e) { System.out.println("出現了異常"); } }
3、源碼:
D62_1_ThrowsOfException.java
https://github.com/ruigege66/Java/blob/master/D62_1_ThrowsOfException.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料