package cn.lijun.demo; /* * try { //須要被檢測的語句。 } catch(異常類 變量) { //參數。 //異常的處理語句。 } finally { //必定會被執行的語句。 } * * */ public class ExceptionDemo { public static void main(String[] args) { try { fun1(0); } catch (Exception ex) { System.out.println(ex); ex.printStackTrace(); }finally{ System.out.println("最終執行的代碼"); } } public static void fun1(int i) throws Exception{ if(i==0) throw new Exception(); System.out.println(i); } } package cn.lijun.demo; /*運行異常 方法不須要throws語句 調用者不須要處理 * 運行異常 不能發生 可是若是發生了 須要修改源代碼 * 運行異常一旦發生 後面的代碼沒有執行的意義 * * * */ public class ExceptionDemo2 { public static void main(String[] args) { double d = getArea(-1); System.out.println(d); } /*定義一個方法計算圓形的面積 * * * * 1*/ public static double getArea(double r){ if(r<0) throw new RuntimeException("圓形不存在"); return r*r*Math.PI; } } package cn.lijun.demo; /* Throwable類中的方法 都和異常信息有關 * String getMessage() 對異常信息的詳細描述 * String toString() 對異常信息的簡短描述 * void printStackTrace() 異常信息最全的 jvm 默認調用的方法 * * */ public class ExceptionThrowAbleDemo { public static void main(String[] args) { try { fun(); int i = 0; } catch (Exception e) { System.out.println(e.toString()); } } public static void fun() throws Exception{ throw new Exception("異常了 下雨了"); } }