異常的簡單規則

今天忽然對異常有了興趣,運行了一個很簡單的程序,發現了一個我一直以來忽略的問題,雖然它針對於這題沒什麼意義,不過很關鍵,若是在用jdbc,io等這些東西的時候沒搞清楚這些,後果很可怕。java

下面來針對程序說說我爲何錯的概念,不爲別的,就爲了給本身提個醒。.net

 

package com.zhao.practice801;
/**
 * 異常的基本研究
 * @author  Administrator
 *
 */
public class TestException {
	public static void main(String[] args) {
		String str = null;
		//取得字符串長度
		int length = 0;
		try{
			length = str.length();
			System.out.println();
		}catch(Exception e){
			e.printStackTrace();
		}
		System.out.println("程序退出");
	}
}

一直覺得出現異常就不會再執行後面的語句,發現錯了,它只是一個方法體,並不會把方法體以外的代碼給覆蓋掉。這是程序的結果。code

程序退出
java.lang.NullPointerException
	at com.zhao.practice801.TestException.main(TestException.java:13)
相關文章
相關標籤/搜索