异常处理

  • 异常分类:检查异常、运行时异常。

异常:凡是能用代码去纠正的是异常。

错误:不能用代码去纠正的问题。(硬件问题,运行环境等)

异常时被方法抛出的对象。

  • 异常分类:Throwable(是类,不是接口){exception,error}

Exception{RuntimeException,IOException,ClassNotFoundException…………}

Error{LinkageError,IOError…………}

RuntimeException{ArrayIndexOutofBoundsException…………}

  • 捕获异常:try{

正常逻辑下有可能发生异常的代码

}catch(异常类型){

处理代码}catch(异常类型){

处理代码}…………

}finally{不管是否发生异常都要执行的代码}

Finally:不管前面有return、break等跳转语句还是要先执行finally后再跳,可以用System.out.exit();来终止finall的跳出。

catch块中的异常有继承的关系,要先写子类异常,后面再写父类异常。

  • 完全的方法声明:public static void 方法名() throws 异常类型{}
  • 抛出异常关键字:throw
  • throw与throws的应用和区别

throw:写在方法体中,后面接的是一个异常对象,一旦执行,就会真正的发生异常抛出的动作。

throws:写在方法声明的最后,后面接的是异常类名,可以接多个,中间用逗号隔开,警告方法的调用者有可能会发生某种类型的异常。

区别:当throw后面跟一个运行时异常时,编译器不会强制本方法名加throws,就算自己加上,本方法的调用者也不会受到警告。

当throw后面跟的是一个编译期异常,编译器会提示加上throws。

  • Throwable类中两个主要方法:getMessage()(返回关于已发生的异常的详细信息)

printStackTrace()(把结果与调用栈的跟踪信息一起打印在控制台中)

  • 自定义异常
    1. 首先要继承Throwsable或者exception
    2. 书写带参构造类,将已发生的异常对象的信息封装到自定义异常对象上,在书写一个带参构造类,用于针对业务的信息装入自定义类上。
    3. 添加自定义异常的特有方法





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值