异 常 处 理

一、概念:程序在运行过程中出现错误的处理能力
二、异常分类
        Java中所有错误也是一个对象,所有错误都是java.lang.Throwable的子类
        Throwable父类
            |-----Error     错误  JVM或者硬件产生的问题,无法避免           //不做任何处理
            |-----Exception 异常  程序在运行过程中或者配置中产生的问题   //可以处理
                |-----RuntimeException及子类     未检查异常   可以处理或者不处理    //近视
                |-----非RuntimeException及子类     已检查异常   必须进行处理          //车轱辘掉了
三、异常的产生
        1. 自动抛出异常
                当程序遇到不规范的代码或者结果,自动产生异常
        2. 手动抛出异常
                throw new 异常对象();  //产生异常
            注: throw 抛出一个异常对象,将异常对象做为函数或者方法的返回值返回调用处   等同于 return 语句
四、异常的传递
        按照函数或者方法调用返向传递
        如:
            //函数调用过程   主函数--->ma()--->mb()
            //异常的传递      mb()--->ma()--->主函数
五、异常的处理
        1. 消极处理 throws 声明异常
           语法:
                public static void mb(int a)throws 异常对象1,异常对象2{  //声明异常
                    //有可能出现异常的代码
                }
            注:只有异常传递,最终没有捕获异常并处理,程序仍旧会因异常而终止
        2. 积极处理 捕获、处理异常
            try{
                //可能出现异常的代码
            }catch(Exception e){ //异常引用
                //处理异常
            }catch...{
                
            }finally{
                //无论是否产生异常,finally内代码均会执行
                //释放资源
            }
            ------------------------------------------------------------
            如: 1 插卡
                 2 输入密码
                 3 输入金额
                 4 余额=余额-2000
                 try{
                      5 吐钱            //可能出现异常的代码
                 }catch(ATM机中钱不够2000){   
                      余额=余额+2000
                 }catch(ATM其它故障){
                      余额=余额+2000    
                 }
六、重写覆盖方法
        子类不能比父类抛出更多的异常

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值