java-异常处理机制(入门教程全集)

什么是异常处理: 是处理代码中问题的一种机制, 也是衡量一门语言是否具有健壮性的标准
异常处理的好处:
        如果没有异常处理, 程序发生异常则立即终止
        有异常处理, 程序发生异常通过捕获异常并处理异常能让程序继续运行

异常处理的基本语法:
try{
    可能出现异常的代码    
    如果发生了异常, 会自动生成一个异常类的实例
    throw new 发烧类();
}catch(感冒类 e){
    异常处理一
}catch(发烧类 e){
    异常处理二
}catch(Exception生病类 e){
    最终处理
}finally{
    都会执行的
}

多重catch捕获注意事项:
1. Exception异常类永远放在多重catch的最后
2. 越普遍的异常越先处理
3. 子类异常在父类异常之前处理

注意:
    a. 一旦有异常时才会到catch中
    b. 不管是try还是catch, 最终都要到finally
    c. 在try或catch中加了return关键字,依然还会执行finally
    d. 强制退出System.exit(0), 才不会执行finally代码
------------------------------------------------
一. 异常处理
异常体系说明:
Throwable: 所有错误和异常的超类
    Error: 代表错误, 不用捕获的严重问题, 不能处理 
        硬件问题, 系统问题, 网络不通 .....
    Exception: 代表异常, 可以捕获的问题
        检查时异常: Exception的子类但非RuntimeException的子类
            强制规定必须处理的异常, 如果不处理, 连编译都报错
        运行时异常: RuntimeException的子类
            不用强制处理, 根据需求选择性处理异常, 不处理编译也不报错
            
一般异常处理分为两种:            
    1. 利用try{}catch(){}来捕获处理异常(背锅)
    2. 将异常抛出, 交给调用者进行异常处理(甩锅)
        异常抛出有2个相关关键字
        a. throw: 手动抛出一个异常类对象(动作), 写在方法内部
            例如: throw new 异常类("异常信息");
        b. throws: 在方法后声明异常, 告知调用者此方法可能会有异常抛出, 需要解决
            例如: public void test() throws Exception{}       
                    
自定义异常:  Java虽然已经提供了大量的异常, 但是实际上在开发中却往往不够用
当我们要增加, 修改数据的时候, 有可能会出现错误的数据, 这些错误的数据按理来讲应该抛出异常, 但是这些异常Java没有提供, 所以我们就要自己去写一些异常类

自定义异常一般继承:Exception和RuntimeException            
    
二. 代码块
代码块 : 用{ }包含的一段代码就是代码块
普通代码块 构造代码块  静态代码块  同步代码块(和多线程结合)
构造代码块: 在类中的一块代码块, 每次new对象都会执行
静态代码块: 在构造代码块前加一个static, 只会在首次加载类的时候执行一次

三. 访问修饰符(访问控制权限)        
范围            private        default        protected      public 
同一个类中    可以            可以            可以            可以
同一个包中                       可以            可以            可以
不同包子类                                          可以            可以
所有类                                                                    可以                    
            
通常情况下: 属性全部用private修饰, 方法全部用public修饰        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值