1. 程式人生 > >Java基礎學習總結---------異常Exception(3) -JVM預設如何處理異常

Java基礎學習總結---------異常Exception(3) -JVM預設如何處理異常

異常Exception

注:本人學習的是傳智播客風清揚老師的java基礎視訊,劉老師講的特別詳細,本人只是把部落格當作學習筆記。

<span style="font-size:18px;">public class ExceptionDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a = 8 ;
		int b = 2 ;
//		int b = 0 ;
		System.out.println(a/b);
		System.out.println("over");
	}

}</span>
此為正常程式,執行結果為 控制檯:

當我們把b改為0

根據異常名字,查詢API可以發現,此異常為RuntimeException

發生異常我們未做處理,java虛擬機器jvm會做預設處理,把異常的名稱,原因,具體位置的詳細資訊列印在控制檯。同時程式會結束,不會執行後面的語句。所以“over”,沒有被輸出。第一階段出現問題,就不會執行第二階段了。這樣的處理就不夠好。我們可以自己處理。       

java虛擬機器jvm會做預設處理   

我們自己處理異常方案:

1、tyr {} catch(){}finally{}我們自己處理異常   2、throws拋給別人處理異常

    try裡面的程式碼越少越好,try{}裡面是可能出現異常的程式碼,JVM

異常的分類:

分為,執行時異常和編譯時異常,編譯異常必須顯示處理,否則程式發生錯誤;執行異常無需顯示處理,也可以和編譯時異常一樣處理。執行時異常是因為程式碼不夠嚴謹。可以在寫程式碼的過程中處理調。

package com.crg_01;

public class ExceptionDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a = 8;
		// int b = 2 ;
		int b = 0;
		if(b != 0){
			System.out.println(a / b);
		}
		

	}

}

這樣處理  就不會有問題了。

編譯時異常必須處理,否則編譯不通過。

編譯異常的處理