Java中的两种异常类型及其区别?

Java中的两种异常类型是什么?他们有什么区别?

  • Throwable包含了错误(Error)和异常(Excetion两类)
  • Exception又包含了运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常)

Error

是程序无法处理了, 如OutOfMemoryError、OutOfMemoryError等等, 这些异常发生时, java虚拟机一般会终止线程 .

运行时异常((RuntimeException)

都是RuntimeException类及其子类,如 NullPointerException、IndexOutOfBoundsException等, 这些异常是不检查的异常, 是在程序运行的时候可能会发生的, 所以程序可以捕捉, 也可以不捕捉. 这些错误一般是由程序的逻辑错误引起的, 程序应该从逻辑角度去尽量避免.

检查异常(CheckedException)

是运行时异常以外的异常, 也是Exception及其子类, 这些异常从程序的角度来说是必须经过捕捉检查处理的, 否则不能通过编译. 如IOException、SQLException等

posted on 2019-07-13 23:54  行之间  阅读(3558)  评论(0编辑  收藏  举报