首页 > 代码库 > JAVA笔记9__异常/throw关键字

JAVA笔记9__异常/throw关键字

/** * 异常:在程序中导致程序中断运行的一些指令 * 1.受检异常:编译期 * 2.非受检异常:运行期 * 异常处理过程分析: * 1.一旦产生异常,系统会自动产生一个异常类的实例化对象 * 2.此时如果存在对应try语句,则执行,否则程序将退出,并由系统报告错误 *  */public class Main {    public static void main(String[] args) {        /*        try{            //有可能发生异常的代码段        }catch(异常类型对象){            //异常的处理操作        }catch(异常类型对象){            //异常的处理操作        }...        finally{            //异常的统一出口        }        */        int a = 100;        Scanner input = new Scanner(System.in);        try{            for(int i=0;i<10;++i){                int b = input.nextInt();                int c = a / b;                System.out.println(c);            }        }catch(ArithmeticException e){            System.out.println("算术运算异常");            e.printStackTrace(); //输出栈中的异常信息        }catch(Exception e){            System.out.println("运算异常");        }finally{ //用途:资源的释放            System.out.println("finally:不管try中的语句是否出现异常都会执行");        }                div(10,2);    }        public static int div(int a,int b){        int res=0;        try{            res=a/b;            return res; //执行完finally里的东西才执行这句        }catch(ArithmeticException e){            e.printStackTrace();            return 0;        }finally{            System.out.println("除法运算结束");        }    }}

 

public class Main {    public static int add() throws InputMismatchException{ //抛出,让上级去处理        Scanner input = new Scanner(System.in);        try{            int a = input.nextInt();            int b = input.nextInt();            return a+b;        }catch(InputMismatchException e){            //throw new InputMismatchException("There is a mistake.");            throw e;        }finally{            System.out.println("All finished.");        }    }    public static void main(String[] args) {        try{            System.out.println(add());        }catch(InputMismatchException e){ //上级来处理            e.printStackTrace();        }    }}

 

JAVA笔记9__异常/throw关键字