课堂代码
public static void main(String[] args) {
int divisor = 100;
int dividend = 0;
//System.out.println(divisor / dividend);//ArinthmeticException 算数异常
try {
System.out.println(divisor / dividend);//ArinthmeticException 算数异常
} catch (Exception e) {
e.printStackTrace();
System.out.println("捕获到一个异常");
}finally {
System.out.println("不管如何都会执行这里的代码");
}
System.out.println("哈哈哈哈");
}
public static void main(String[]args){
int [] a = new int[2];
Scanner scanner = new Scanner(System.in);
try{
int i = scanner.nextInt();
int j = scanner.nextInt();
a[0] = i;
a[2] = j;
System.out.println(a[0]/a[2]);
//Array INdex Outof Bounds Exception 数组 索引 超出 边界 异常
//Input Mismatch Excepyion 输入 不匹配 异常
//Arithmetic Exception 数学数字 异常
}catch(ArrayIndexOutOfBoundsException | InputMismatchException |ArithmeticException e){
System.out.println("数组越界异常");
System.out.println("数据格式不正确异常");
System.out.println("算数异常");
System.out.println("以上异常中的一个");
}
}
public static void main(String[]args) throws Exception{ //继续向上声明异常,不处理
try {
setSex("双性人");
}catch (Exception e){ //调用者处理异常
e.printStackTrace();
System.out.println("调用者说处理过了");
}
}
public static void setSex(String sex) throws Exception{ //声明异常
if (!(sex.equals("男")||sex.equals("女"))){
throw new SexException("发现一个不对劲的"); //抛出异常
}
}
public SexException(){
}
public SexException(String message){
System.out.println("我是自定义的异常,非男非女,但我也没办法处理");
System.out.println("......");
}