Java异常:Exception和Error

一、基础概念

程序中的错误:编译错误、运行时错误、逻辑错误。

编译错误和运行时错误相对于逻辑错误好处理一些。

Java中异常分为两类Exception和Error,这两个类都继承自 Throwable 类。

Error(错误)表示程序自身无法处理的错误,表示程序存在较大问题。多数错误与编程人员操作无关,多表示JVM执行过程中的错误,当这类错误发生时虚拟机通常选择终止。这类错误有 StackOverFlowError、OutOfMemoryError

Exception(异常)表示可以程序自身可以处理的错误。Exception类有个重要的类RuntimeException, RuntimeExctption类及其子类表示JVM常用操作引起的错误,例如空值引用,除数为0,下标越界。

二、异常分类

分类1

1、非运行时异常,也称编译异常,这种异常在编译器进行检查,不进行处理无法通过编译器。这些异常是非RuntimeException及其子类异常,例如IOException、SQLException。

2、运行时异常(RuntimeException及其子类),编译器不进行检查,方法抛出这种异常也无须可以处理。常见的运行时异常有下标越界、除数为0、空指针、类找不到等

分类2

1、受检查异常(编译器要求必须处理的异常),这类问题再程序开发过程中是常见的问题,Exception中非RuntimeException及其子类的异常都是受检查异常。

2、不受检查异常(编译器不强制处理),RuntimeException和Error都是不受检查异常,即使方法抛出了这些异常也不要求必须捕获和抛出。

三、常见异常

1、RuntimeException

  • ArrayIndexOutOfBoundsException 数组下标越界
  • ArthmeticException 算数条件异常,如,除数为0
  • SecurityException 安全异常
  • IllegalArgumentException 非法参数异常
  • NegativeArraySizeException 数组下标为负数异常
  • ClassNotFoundException 找不到类异常
  • NullPointerException 空指针异常
  • ClassCastException

2、非RuntimeException

  • IOException 输出输出异常
  • SQLException SQL异常

3、Error

  • OutOfMemoryError 内存不足异常
  • StackOverflowError 栈溢越界异常

https://www.cnblogs.com/heqiyoujing/p/11297603.html
https://blog.csdn.net/iblade/article/details/78196016

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×