JAVA學習筆記25——異常機制1:Exception簡介+異常處理的try_catch_finally方法

最近在看JAVA教學的視頻,覺得老師講的很好,同時借用源代碼還有筆記來撰寫本系列博客,記錄自己的學習內容,同時也供看到的人學習。

本篇和下一篇來介紹一下JAVA的異常機制,異常是程序執行的一種例外,Java異常是Java提供的用於處理程序中錯誤的一種機制。Java裏錯誤也是用對象來包裝起來。(注:Error類不需要編程者處理,也是編程者解決不了的。)



下面是異常的實例代碼:

import java.io.File;
import java.io.FileNotFoundException;
public class TestException {
	public static void main(String[] args) {
//		int i = 1/0;  編譯能夠通過,但是會拋出異常是程序無法運行,ArithmeticException,當出現異常的運算條件時,拋出此異常。例如,一個整數“除以零”時,拋出此類的一個實例。 
//		Computer c  = null;
//		if(c!=null){
//			c.start();   //對象是null,調用了對象方法或屬性!
//		}
//		String str = "1234abcf"; 
//		Integer i = new Integer(str);		
//		try{
//			Thread.sleep(3000);
//		}catch(Exception e){
//			e.printStackTrace();    //打印錯誤堆棧軌跡
//		}finally{
//			System.out.println("aaa");
//		}
		File f = new File("c:/tt.txt");
		if (!f.exists())  {
			try {
				throw new FileNotFoundException("File can't be found!"); 
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		}
	}
}
class Computer{
	void start(){
		System.out.println("計算機啓動!");
	}
}
這裏也介紹一下一個總出現的printStackTrace()方法:

public void printStackTrace():將此 throwable及其追蹤輸出至標準錯誤流。此方法將此Throwable 對象的堆棧跟蹤輸出至錯誤輸出流,作爲字段System.err 的值。輸出的第一行包含此對象的 toString()方法的結果。剩餘行表示以前由方法 fillInStackTrace()記錄的數據。此信息的格式取決於實現,但以下示例是最常見的:

 java.lang.NullPointerException

  at MyClass.mash(MyClass.java:9)

  atMyClass.crunch(MyClass.java:6)

 atMyClass.main(MyClass.java:3)

接下來開始介紹第一種異常處理方法:try_catch_finally方法:異常處理辦法之一(最簡單的一種):捕捉異常(try,catch,finally)。無異常的時候跳過catch的語句內容,有異常的時候順序執行所有語句。(但是發生異常的語句之後的try語句就不會執行了~),finally裏面通常放那種不管是否發生異常都必須要執行的語句,通常在finally中關閉程序快已打開的資源,如:文件流、釋放數據庫連接等。方法一不推薦用(Eclipse可以自動補···)。


下面放上兩段方法一的代碼,不用過於細鑽研,中間有不懂的類參考API文檔:






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章