Java异常扫盲

Java异常架构

在这里插入图片描述

Java异常处理

捕获异常(try-catch)

如果知道如何处理该异常,就通过try…catch…来捕获异常,根据不同的异常进行不同的处理。

声明异常(throws,必须处理)

如果不知道如何处理该异常,可以将该异常继续传递下去,此时可以在该异常出现的方法签名处使用throws关键字来声明可能抛出的异常。
注意:

  • 非受检异常(Error,RuntimeException或它们的子类)不可使用throws关键字来声明要抛出的异常;
  • 受检查异常:要么用 try … catch… 捕获,要么用 throws 声明抛出,交给父类处理。
  • 子类方法声明抛出的异常类型应该是父类方法声明抛出的异常类型的子类或相同,子类方法声明抛出的异常不允许比父类方法声明抛出的异常多

抛出异常(throw,不是必须处理)

方法内,用throw来抛出一个Throwable类型的异常。一旦遇到到throw语句,后面的代码将不被执行。然后,便是进行异常处理——包含该异常的try-catch最终处理,也可以向上层抛出。注意我们只能抛出Throwable类和其子类的对象。

Throw和Throws的区别是什么?

  • throw关键字用在方法内部,只能用于抛出一种异常,用来抛出方法或代码块中的异常,受检异常和非受检异常都可以被抛出;
  • throws关键字用在方法声明上,可以抛出多个异常,用来标识该方法可能抛出的异常列表,一个方法用throws标识了可能抛出的异常列表,调用该方法的方法中必须包含可处理该异常的代码,否则也要在方法签名中用throws关键字声明相应的异常。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值