基本介绍
1、Java语言中,将程序执行中发生的不正常情况称为异常,但是开发过程中的语法错误和逻辑错误不是异常
2、执行过程中所发生的异常事件分为两大类
Error:java虚拟机无法解决的严重错误,jvm系统内部错误、资源耗尽,比如:栈溢出(StackOverflowError)和OOM,error是严重错误,程序会崩溃
Exception:其他因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。比如空指针异常,连接超时等
异常处理类型
编译异常的特点:编译时就需要捕获该异常,否则报编译错误,称为受检异常
SQLException:操作数据库时,查询表可能发生异常
IOException:操作文件时,发生的异常
FileNotFoundException:当操作一个不存在的文件时,发生异常
ClassNotException:加载类,该类不存在时,发生异常
EOFException:操作文件到文件末尾,发生异常
IllegalArguementException:参数异常
运行异常的特点:可以不捕获异常,也不报编译错误,称为非受检异常
Java源程序用javac.exe编译成字节码文件过程中可能出现编译异常,而运行异常是在字节码文件用java.exe在内存中加载、运行类可能出现的异常就是运行异常,运行时异常,编译器不要求强制处理异常,因为这类异常很普遍,全处理的话会对程序的可读性和运行效率产生影响;编译异常是编译器必须处置的异常
异常处理方式
五个关键字
try-catch-finally
try{
//将可能有异常的代码放入
}catch(Exception e){
//捕获到异常