java学习之异常处理(一)
Java学习之异常处理机制
异常的概念及作用
异常是什么
- 异常模拟的是现实世界中不正常的现象;
- java中用类去模拟异常;
- 异常类可以创建对象;
异常处理机制的作用
java语言提供了完善的异常处理机制。
作用是:
当程序发生错误时,为我们提供的程序出错的详细信息,方便程序员对异常进行处理,使得程序更加健壮。
异常的分类
异常的层次结构图
说明:首先所有的类肯定都继承Object类(此处未画出)
Throwable:Throwable是java中所有异常和错误的超类。当对象是此类的实例时,java虚拟机或者java通过用throws语句将异常抛出(所有的异常都是可抛出的)。
Error:Error是错误,当java程序中出现了错误,错误不能处理,只能退出JVM,例如:StackOverflowError。
Exception:Exception是Throwable的子类,Exception中的异常都是可处理的,如果没有处理异常,则程序直接退出JVM。
一般性异常(编译时异常):所有的Exception的直接子类都是“编译时异常”,所有的“编译时异常”都需要程序员在程序编写阶段进行处理。如果不进行处理,编译将无法通过。处理方式有两种,声明抛出和捕捉,捕捉是使用try–catch进行捕捉,声明抛出是在程序的方法声明位置上用throws关键字抛出异常。例如:java.lang.InterruptedException(发生几率高)
**RuntimeExce:**所有的RuntimeException的子类都是运行时异常,运行时异常在程序编译阶段不需要处理。例如:
javax.lang.model.element.UnknownElementException(发生几率低)
详情请查看: JDK8中文在线文档