[Java] Java自学笔记(五)——异常

*异常
    ·异常就是程序运行过程中出现了不正常现象导致程序中断
    ·在Java中,把各种异常现象进行了抽象形成了异常类
*异常处理
    ·运行时异常不需要预处理,通过规范的代码可以避免
    ·受检异常必须预处理,否则编译报错,有两种预处理方法
        ·捕获处理
        ·抛出处理
*捕获处理
    try{
        对可能产生异常的代码进行检视
        如果try代码块的某条语句产生了异常,就立即跳转到catch子句执行,try代码块后的代码不在执行
        try代码块可能有多个受检异常需要预处理,可以通过多个catch子句分别捕获
    }catch( 异常类型 1 e1){
        捕获异常类型1的异常,进行处理
        在开发阶段,一般的处理方式
                    1.获得异常信息
                    2.打印异常跟踪信息
         e1.printStackTrace();
        在部署后,如果有异常一般把异常信息打印到日志文件
    }catch( 异常类型 2 e2){
        捕获异常类型2的异常,进行处理
        如果捕获的异常类型有继承关系,应该先驳货子异常再捕获父异常,没有继承关系,catch子句没有先后顺序
    }finally{
        不管是否产生了异常,finally子句总是会执行
        一般情况下,会在finally中释放系统资源
    }
*抛出处理
    ·在定义方法时,如果方法体中有受检异常需要预处理,可以捕获处理,也可以抛出处理谁调用这个方法谁负责处理该异常
    ·在方法定义时,把异常抛出就是为了提醒方法的使用者,有异常需要预处理。
*异常预处理的作用
    ·异常预处理即使在程序中出现了错误,也不会中断,继续执行下去
    ·增加程序的健壮性、鲁棒性
*异常处理方法的选择
    ·在调用其他方法时,如果方法有受检异常,需要预处理使用捕获处理。
    ·定义方法时,方法体中有异常需要预处理,可以选择捕获也可以选择抛出。
    ·如果抛出了一个异常,所在的方法应该使用throws声明该异常。
*方法覆盖的异常处理
    *规则
        ·方法签名必须相同
        ·方法的返回值类型可以相同,子类方法的返回值类型可以是父类方法返回类型的子类型
        ·子类方法的访问权限可以更宽泛
            ·父类 public    子类 public
            ·父类 produced  子类 piblic/produced
        ·子类方法的异常比父类方法的异常更小
            ·父类无异常        子类无异常
            ·父类抛出异常    子类可以抛出相同异常、也可以抛出子异常、也可以不抛出
*异常在开发中的应用
    *自定义异常:
        ·定义一个继承Exception
        ·在定义异常中提供两个构造方法
        ·在需要的位置通过throw抛出异常对象
        ·throw所在的方法通过throws生命该异常
        ·调用方法时需要对受检异常预处理


        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值