什么是异常

程序的运行或者编译时,所产生的错误统称异常(也叫Bug),而异常又分为Error、Exception当程序遇到Error这种异常时程序不能处理了因为这种异常是物理设备的异常,例如内存不足之类的;而程序能运行捕获的异常就是编译时异常和运行时异常,这些都能通过修改代码来调整修复回来

JVM的默认处理方案

如果程序出现了问题,我们没有做任何处理,最终JVM会做默认的处理

  • 把异常的名称,异常原因及异常出现的位置等信息输出在了控制台
  • 程序停止执行

异常结构图

Throwable
Error
Exception
IOError
AWTError
其他子类
RuntimeException
ArithmeticExceptio
ClassCastException
IndexOutOfBoundsException
NullPointerException
NumberFormatException
其他子类

运行时异常

又称为checked异常
RuntimeException类及其子类都是运行时类。运行时异常是在程序运行时由Java虚拟机自动进行捕获处理的。
ArithmeticExceptio 算数异常
ClassCastException 类型转换异常
IndexOutOfBoundsException角标越界异常
NullPointerException 空指针异常
NumberFormatException 数字格式化异常

编译时异常

又称为unchecked异常
除了RuntimeException类及其子类外,其他子类都是编译时异常
使用方式:

1、 使用try…catch语句对异常进行捕获处理,处理方式可以自行编写
2、使用throws关键字声明抛出异常,让调用者自身对其处理,处理方式不能编写

throws 和throw的区别

throws
  • 用在方法声明后面,跟的是异常类名
  • 表示抛出异常,由该方法的调用者来处理
  • 表示出现异常的一种可能性,并不一定会发生这些异常
thorw
  • 用在方法体内,跟的是异常对象名
  • 表示抛出异常,由方法体内的语句处理
  • 执行throw一定抛出了某种异常
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值