异常

1、什么是异常(Exception)
异常是运行时发生的错误;java命令
代码中的语法错误不是异常,而是编译错误;javac命令
2、异常的层次结构
Object
    Throwable(可抛出的)
            Error(jvm层面)
            Exception
                受检查异常
                运行时异常

3、java中处理异常的机制
    抛出->捕获

4、处理异常的语法
try{
//语句块,可能产生异常的语句
}catch(异常类型 e){
//处理异常
}

5、关于try和catch使用的注意事项

  • 每个try块可以对应多个catch,如果catch中能捕获异常,则进行捕获,如果捕获不到,则继续向外抛出;

  • 每个try块中可以包含多行代码,一旦出现异常,try块中余下的代码不会再执行

  • 如果有多个catch块,那么父类的异常应该放在后面,否则出现编译错误

6、关于finally

  • 一个try块中最多可以包含一个finally(可以没有);并且放在try结构的最后;

  • 只要进入try块,finally中的代码一定会被执行(退出jvm除外);因此我们可以将一定执行的代码(例如释放资源)放在finally中;

  • 一个try块中至少应该对应catch或finally中的一个; (先执行return语句再执行finally中的代码)

7、final,finally,finalize的区别?
8、异常对象可以由jvm和用户编码来创建抛出(throw异常对象)
    语法:
        throw 异常对象;

9、throws关键字
throws放在方法声明之后,throws后面加入一个异常类;说明此方法会抛出一个某类型的异常;

10、异常(Exception)的分类
运行时异常:可以不处理
    RuntimeExeption及其子类;
受检查异常:必须处理,否则不能通过编译;
    Exception及其除RuntimeExeption外的子类;

	Exception
		.....
		RuntimeException
			.....

11、处理异常的两种方式

  • 自行处理:通过try-catch自行解决
  • 回避处理:将异常抛给调用者处理,优点是调用者可以自己决定如何处理异常;把处理权交给调用者

12、自定义异常
定义一个类继承Exception或RuntimeException即可;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值