異常處理

什麼是異常?java


       在java程序中,咱們每每會遇到一些沒有預料到的狀況,或者超出了不可控的範圍,例如數據損壞,嘗試打開一些不存在的文件等等,簡而言之,這些都會成爲異常。學習

咱們先看一下一個簡單的異常程序spa


package demo;線程

public class Yichag {編譯器

public static void main(String[] args) {it

//定義一個int變量而且賦值io

int a=3/0;編譯

System.out.print(a);class

}import

}


這個程序運行結果確定會報錯的,由於3\0是錯誤的,可是編譯器不會檢查出來,只是運行起來纔會報錯,圖就不貼了。。

因此咱們就知道異常的發生有3種狀況:1是編譯異常(寫代碼時的異常),2是運行異常(如上面的程序),3是錯誤的異常。而且異常是出現了後面的語句就不會執行的。

那麼問題來了,咱們該怎麼解決異常呢?


異常的解決方法通常有兩種,一是捕獲異常,二是拋出異常

捕捉異常

java中異常捕獲的結構由try,catch,finally ,組成,其中,try語句裏面放可能出現異常的語句,catch裏面放用來激發異常的語句或者輸出相關異常信息,finally是最後執行的部分,通常是用來關閉未出現異常的語句執行的操做,以避免發生未知錯誤,但尤其重要的一點是:finally無論有沒有異常,都會執行。

 下面咱們來看看捕獲異常的程序代碼結構

t你


try{

}

catch( Exception e)

{

}finally{

}


下面弄一個簡單的程序來體驗下


package demo;


public class Yichag {

public static void main(String[] args) {

//定義一個int變量而且賦值

try{

int a=Integer.parseInt("20L");

System.out.print(a);

}

catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

finally{

System.out.print("我被執行了!!!");

}

}

}



可見異常被捕獲後,finally仍會執行。

關於finally不會執行的狀況

  1. 在finally語句塊中出現了異常

  2. 在前面的語句塊中強制退出了,如System.exit()

  3. 程序所在的線程死亡

  4. cpu關閉


使用throws關鍵字拋出異常

直接看代碼


package demo;


import java.io.FileNotFoundException;

import java.io.FileReader;


public class Yichag {

public static void main(String[] args) throws Exception {//調用時也拋出異常

//直接調用

here();

}

//聲明一個方法體

public static void here() throws FileNotFoundException{//用throws拋出異常

FileReader fr=new FileReader("D:\\aiwei.txt");

}

}


以上就是java中異常的一些簡單知識,關於異常還有許多深刻的地方,因爲本人也是初學者,剛剛學到這個知識,關於還有異常類的使用你們也能夠去多多瞭解,但我認爲初學者對於這方面

沒必要太過深究,瞭解其概念和用處便可,後面學習遇到這方面的問題時經過結合新的知識來了解,深刻也是一個很好的辦法。。

相關文章
相關標籤/搜索