jvm處理異常的方式:如果我們出現(xiàn)異常沒有處理紫谷,jvm會幫我們處理挣输,并且終止了程序纬凤,異常代碼后的程序不會被執(zhí)行.
異常的兩種處理方式:
*? ? ? ? ? ? 捕獲處理
*? ? ? ? ? ? 拋出異常
* 捕獲處理:try......catch語句
* 格式:try{
*? ? ? ? 有可能出現(xiàn)問題的代碼;
*? ? ? }catch(ArithmeticException(異常對象)e){
*? ? ? 處理異常撩嚼;
*? ? ? };
*try......catch語句的執(zhí)行順序:首先執(zhí)行try語句(1)如果出現(xiàn)異常停士,異常下面的代碼將不再執(zhí)行挖帘,直接跳入catch語句中,
*? ? ? ? ? ? ? ? ? ? ? ? catch語句結(jié)束后恋技,整個try......catch語句結(jié)束(2)如果沒有出現(xiàn)異常拇舀,try......catch
*? ? ? ? ? ? ? ? ? ? ? ? 語句直接結(jié)束,不再執(zhí)行catch語句蜻底。
*異常的拋出:當我們不想處理異辰颈溃或者沒有能力處理異常時,可以選擇拋出異常薄辅,誰調(diào)用誰處理異常要拂;
*使用throws關(guān)鍵字在方法聲明時拋出異常? ? ? ? ? ? ? ? ? ? ? ?
public class ExceptionDemo2 {
public static void main(String[] args) throws IOException {//當在主方法中拋出異常時,其實是讓虛擬機幫我們處理
FileWriter fw=new FileWriter("b.txt");
int c=0;
try{
? ? ? c=2/0;
? ? }catch(ArithmeticException e){
System.out.println("除數(shù)不能為0");
? ? }
System.out.println("hello");
}
public static void method() throws IOException{//拋IOException或者它的父類Exception
FileWriter fw=new FileWriter("a.txt");
}
}