什么是异常

程序的运行或者编译时,所产生的错误统称异常(也叫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一定抛出了某种异常
发布了39 篇原创文章 · 获赞 13 · 访问量 2327

猜你喜欢

转载自blog.csdn.net/qq_43205282/article/details/103334819