java异常是指在代码段中发生运行出错的情况,程序中的错误可能来自于编译错误和运行错误。
编译错误:编写的程序存在语法问题,未能通过编译过程而产生的错误,它将由语言的编译系统负责检测和报告
运行错误:在程序的运行过程中产生的错误
Java把程序运行中遇到的非致命的,通过某种修正后还能继续执行的错误称作异常。
Java虚拟机检测到了异常
->表达式的计算违反了Java的语义,如整数被0除
->超出了某些资源限制,如使用了太多的内存
Java程序代码中的throw语句被执行
异步异常发生
->Thread的stop方法被调用
->Java虚拟机内部错误发生
(1)5个关键字:try、catch、throw、throws、finally
(2)Java异常类的结构:
Java异常类有一个父类叫做Throwable,下面有两个子类分别是Error类和Exception类
(3)Erroe异常
Error指的是错误,通常是程序员不可能通过代码来解决的问题,底层环境或硬件问题,即程序中用户不用捕获Error及任何Error子类的异常。Error类包括linkageError(综合错误)与VitualmachineError(虚拟机错误)两个子类。
(4)Exception
Exception指的是异常,或理解为程序运行过程中出现的意外情况,通常在程序中捕获的异常其实是Exception及其Exception子类的异常,Exception类型的异常又分为运行时异常和非运行时异常。
运行时异常:运行时异常继承自RuntimeException。Java编译器允许程序不做处理。
非运行时异常:非运行异常在java.lang类库中定义,Java编译器要求程序必须捕获或声明抛弃这种异常。