异常--java
java默認的異常處理機制
優點:發生異常后、會給出異常類型、異常提示信息、異常出現的位置
缺點:出現異常后,后續語句不執行了;提示信息太專業,可讀性差
解決:try-catch-finally 處理異常;throws 拋出異常不處理,調用者處理
異常處理:try-catch-finally
package demo01;import java.util.Scanner;public class TestException {public static void main(String[] args) {Scanner input = new Scanner(System.in);//輸入總分try{System.out.println("請輸入總分");int sum = input.nextInt();System.out.println("請輸入人數");int count = input.nextInt();int result = sum/count;System.out.println("result="+result);}catch (Exception e){//System.out.println(e.toString());//System.out.println(e.getMessage());//by zeroSystem.err.println("請檢查人數是否為0,請檢查是否輸入了非數字內容");//繼續向上拋//throw e;}System.out.println("11111111111");} }try-catch 執行的情況
情況1:try塊中代碼沒有出現異常
不執行catch塊代碼,執行catch塊后的代碼
情況:2:try塊中代碼出現異常,catch中異常類型匹配(相同或者父類)
執行catch塊代碼,執行catch塊后面的代碼
情況3:try塊中代碼出現異常,catch中異常類型不匹配
不執行catch塊代碼,不執行catch塊后面的代碼,程序中會中斷執行
注意:
1、出現異常后,java會生成相應的異常對象java系統,尋找匹配的catch塊,找到后將異常對象賦給catch塊異常參數
2、出現異常后,try塊中尚未執行的語句不會執行
3、出現異常后并處理后,catch塊后面的語句還會執行
catch塊中如何處理異常
1、輸出用戶自定義異常信息
System.err.println("除數不能為零");
System.err.println("被除數和除數必須是整數");
2、調用異常對象的方法輸出異常信息
tostring()方法,顯示異常的類名和產生異常的原因
void printStackTace() 輸出異常的堆棧信息
String getMessage() 返回異常信息描述字符串,printStackTrace()信息一部分
3、繼續向上拋出異常
throw e
?
?
?
?
?
?
?
?
?
?
?
?
總結
- 上一篇: centos mysql 服务器_服务器
- 下一篇: JDBC练习五