zoukankan      html  css  js  c++  java
  • 捕获和抛出异常

    捕获和抛出异常

    • 抛出异常

    • 捕获异常

    • 异常处理五个关键字

      • try、catch、finally、throw、throws(在方法中使用)

    代码如下

    public class Test {
    
        public static void main(String[] args) {
            try {
                new Test().test(1,0);
            } catch (Exception e) {
                e.printStackTrace();
            }
            int a = 1;
            int b = 0;
    
            //假设要捕获多个异常: 从小到大!
    
            try { //try监控区域
    
                if (b==0){  //主动地抛出异常 throw throws
                    throw new ArithmeticException();    //主动地抛出异常
                }
    
                System.out.println(a/b);
                //new Test().a();
    
    
    
            }catch (/*ArithmeticException*/Error e){ //catch(想要捕获的异常类型!) 捕获异常
                System.out.println("程序出现异常,变量b不能为0");
            }catch (Exception e){
                System.out.println("Exception");
            }catch (Throwable t){//最大的异常写在最后面
                System.out.println("Throwable");
            } finally { //处理善后工作
                System.out.println("finally");
            }
    
            //finally 可以不要finally,假设IO,资源,关闭操作!
    
        }
    
    //    public void a(){
    //        b();
    //    }
    //    public void b(){
    //        a();
    //    }
    
        //假设在方法中,处理不了这个异常,方法上抛出异常
        public void test(int a,int b) throws ArithmeticException{
            if (b==0){  //主动地抛出异常 throw throws
                throw new ArithmeticException();    //主动地抛出异常,一般在方法中使用
            }
            System.out.println(a/b);
        }
    }
    
    public class Test2 {
        public static void main(String[] args) {
            int a = 1;
            int b = 0;
    
            //Ctrl  Alt + T
            try {
                System.out.println(a/b);
            } catch (Exception e) {
                e.printStackTrace(); //打印错误的栈信息
            } finally {
            }
        }
    }
    
  • 相关阅读:
    combo,raido
    块级作用域问题ES5 & ES6
    基本类型和引用类型_深拷贝和浅拷贝
    由数组扁平化切入generator函数
    Promise基本用法
    原生ajax请求之前端
    ExtJS组件window
    ORACLE(+) 号的用法,及与逗号运算符的差别
    centos7发布json中文显示乱码
    centos7 svn在repository在的情况下重装恢复
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13297751.html
Copyright © 2011-2022 走看看