指的是程序在执行过程中,出现的非正常情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出一个异常对象。Java处理异常的方式就是中断处理。 异常指的并不是语法上的错误,如果我们在编写代码的时候语法出现了错误,编译时不会通过的,不会产生字节码文件,根本不能运行
异常机制其实是帮助我们找到程序中的问题,异常的根类是java.lang.Throwable,其下有两个子类:java.lang.Error与java.lang.Exception,平常所说的异常是指java.lang.Exception
Error:严重错误Error,无法通过处理的错误,只能事先避免(比如不按照语法编写代码等) Exception:表示异常,异常产生后程序员可以通过代码的方式进行纠正,使程序继续运行,是必须要处理的
Exception分为checked异常和runtime异常,分别编译时期产生的异常和运行时期产生的异常。 checked异常在编译时期,就会检查,如果没有处理异常则编译失败(就是在我们按照正常的语法进行编写代码的时候出现的红线那个就是checked异常); runtime异常是运行期异常,java程序在运行过程中出现的问题(在我们编写代码的时候不会出现红线,但是运行后会提示异常)
如图所示