Java异常

异常

异常以类形式存在,抛出异常时new一个异常对象(jvm自动完成)。
异常父类是java.lang.Throwable
有两个子类 Error, Exception
在这里插入图片描述

  • Error,直接终止程序,退出jvm
  • Exception的ExceptionSubClass子类是编译时异常,在编写程序时要求对这种异常预先处理,否则编译器报错,又名CheckException
  • RuntimeException子类是运行时异常,又名UnCheckException

处理异常两种方式:

  • throws抛给上一级
  • try…catch捕捉, throws一直往上拋直到main方法,再继续抛给调用者jvm,就终止程序执行

catch方法传入的e参数保存的是抛异常的方法中throw的异常对象的内存地址
jdk8允许catch参数使用多个参数并用数学运算(与,或)

获取异常简单描述信息

expection.getMessage()

打印异常堆栈信息,异步线程输出
e.printStackTrace()

finally

  • finally最后且一定会执行,不论try是否有异常被catch
    在try中抛出
  • System.exit(status:0)退出jvm,则finally语句不执行
finally finallize区别

finallize()是标识符,obhect类的方法,作为方法名出现

throws 和 throw 的区别

throws 用在函数上,后面跟的是异常类,可以跟多个;而 throw 用在函数内,后面跟的
是异常对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值