java笔记寒假12-异常

Posted on 2022-01-12 17:41  超喜欢小小  阅读(32)  评论(0)    收藏  举报

第十天

1、

异常类分为两大类,错误Error和异常Exception

2、异常处理机制

抛出异常

捕获异常

 

异常处理的五个关键字

try、catch、finally、throw、throws

 package com.oop.Demo08;
 
 public class Test {
     public static void main(String[] args) {
         int a = 10;
         int b = 0;
 
         try {//try监控区域
             System.out.println(a/b);
        }catch (ArithmeticException e){//catch(想要捕获的异常类型)
             //Throwable 是最高级的
             //try中的程序出现了catch()中的异常,就会执行catch中的代码块
             System.out.println("程序出现异常");
        }finally {//处理善后工作,出不出异常都会执行
             System.out.println("finally");
        }
    }
 }

catch可以写多个,但是最大的要在后面,就像if else if 一样,只会执行其中一个

 try(){
     
 }catch(){
     
 }catch(){
     
 }//finally可以不写,他是做善后工作的

快捷键:选中代码之后,ctrl+alt+t会自动生成一些代码

 e.printStackTrace(); //打印错误的栈信息
 System.exit(数字)//手动结束程序
 package com.oop.Demo08;
 
 public class Tested {
     public static void main(String[] args) {
        new Tested().test(1,0);
    }
 
     
     public void test(int a,int b){
         if(b == 0) {
             throw new ArithmeticException();//主动抛出异常,一般在方法中使用
        }
    }
 }
 package com.oop.Demo08;
 
 public class Tested {
     public static void main(String[] args) {
         try {
             new Tested().test(1,0);
        } catch (ArithmeticException e) {
             e.printStackTrace();
        }
 
    }
 
     //假设这个方法中,处理不了这个异常。方法上抛出异常
     public void test(int a,int b) throws ArithmeticException{
         if(b == 0) {
             throw new ArithmeticException();//主动抛出异常,一般在方法中使用
        }
 
    }
 }

3、自定义异常