Java基礎學習總結---------異常Exception(3) -JVM預設如何處理異常
阿新 • • 發佈:2019-02-11
異常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); } } }
這樣處理 就不會有問題了。
編譯時異常必須處理,否則編譯不通過。
編譯異常的處理