Java-异常处理

一、概念

1、程序执行过程中发生的不正常情况称为“异常”。
2、分为两类:
1)Error:Java虚拟机无法解决的严重问题,如JVM系统内部错误、资源耗尽等,StackOverflowError和OOM。
2)Exception:其它因编程错误或偶然的外在因素导致的一般性问题,有编译时异常和运行时异常,
编译时异常包含:IOException、ClassNotFoundException;
运行时异常包含:NullPointerException、ArrayIndexOutofBoundsException、ClassCastException、NumberFormatException、InputMismatchException;

二、try-catch-finally

1、try内写可能出现异常的代码。
2、catch捕获出现异常的代码,小类型需要放在前面,大的异常类型放在后面。
3、finally里通常放数据库连接、输入输出流、网络编程Socket等,JVM不能够自动回收,需要手动进行释放。
4、该结构是将编译时异常推迟到运行时异常显示出来。

三、throws

1、throws+异常类型
写在方法声明的后面,指明可能存在的异常类型,可以将其抛出,异常代码后续代码就不再继续执行了。
2、后续如果别的方法调用上述方法,并没有真正将异常进行处理掉,可以try-catch-finally进行处理。

:对于方法a,它调用递进的另外几个方法,这另外几个方法是递进关系执行的,建议这另外几个方法使用throws进行抛出异常,然后方法a可以使用try-catch-finally进行处理异常。这可以避免在另外几个方法中使用try-catch-finally浪费资源,因为执行过程中另外的几个递进方法可能会发生阻滞,后续方法无法继续执行下去。

四、自定义异常类

1、继承现有的异常结构,例如RuntimeException、Exception;
2、提供全局常量:serialVersionUID;
3、提供重载的构造器;

注:throw和throws区别:
throw可以手动生成一个异常对象,并抛出;
而throws可以理解为异常处理的一种方式。通常throw抛出来异常对象,然后throws进行处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JHL123123

赞赏随心,支持为大。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值