javaSE异常处理方式浅谈--拙见

一、 java中的异常事件:
    ----java.lang.Throwable
        1.---- -Error:错误,程序中不进行处理;
        2.----- Exception:异常,在编写程序时须进行处理;
            2.1 Exception分为:
                    2.1.1 编译时异常:必须进行处理;
                    2.1.2 运行时异常:无需进行显示的处理,遇到时系统会报错;
                        常见的运行时异常:     数组下标越界 (ArrayIndexOutOfBoundsException)
                                        空指针异常 (NullPointerException)
                                        类型转换  (ClassCaseException)
                                        算数异常  (ArithmeticException)
        3.java中异常处理机制:
            --抓抛模型--
            "抛":当程序运行时,一旦出现异常,就会在异常的代码处生成一个对应的异常类型的对象,并将该对象抛出;
                >--自动抛出  
                >--手动抛出 :throw + 异常类的对象(声明在方法的内部)eg:throw new Exception("您输入的信息有误!");
                >--当程序在执行时遇到异常时,程序会终止执行,(违背处理之前)之后的语句不会将被执行;
                >--此异常类的对象抛给方法的调用者;
            "抓":抓住被抛出的异常类的对象;抓--即为 异常的处理;

            3.1 异常的处理方式一:
                    try{
                        //可能发生异常的语句;
                    }catch(){
                        //处理的方式一;
                    }catch(){
                        //处理的方式二;
                    }finally{
                        //一定会执行的语句;
                    }
                    注:    1.try中定义的变量是局部变量;
                        2.finally语句是可选的;
                        3.catch语句中是对异常的处理:
                                        通常会调用两种方法:getMessage()-->
                                                      printStack()-->打印堆栈信息,默认异常对象调用方法;
                        4.catch 语句可以有多个,try语句中抛出的异常会和catch语句中的异常类相匹配,一旦满足,则执行catch语句,
                                执行完之后就会跳出catch语句,如果catch语句之后有finally语句,则执行finally语句,若没有则继续执行之后的代码;
                                                    
                        5.finally 中存放的是一定会被执行的语句,不管try中、catch中是否仍有异常未被处理以及是否有return 语句,都会执行;    
                        6.try-catch语句是可以嵌套的;
            3.2 异常处理方式二:
                    在方法的声明处,显示的抛出该异常对象的类型;
                    eg:
                          public static void method1() throws IOException{
                                          //方法体;
                          }
                      简介:在方法的内部出现异常时,就会抛出一个异常类的对象,抛给方法的调用者,且异常的对象逐层向上抛出直至main方法,在上抛的过程中可以进行try-catch进行处理;
                          一般抛至main方法中进行处理;
                    
            
               

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值