Java异常处理
什么是异常
异常时指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序
异常发生的原因有很多,通常包含以下几大类:
用户输入了非法数据。
要打开的文件不存在。
网络通信时连接中断,或者JVM内存溢出。
什么是异常处理
Java编程语言使用异常处理机制为程序提供了错误处理的能力
要理解Java异常处理是如何工作的,需要掌握以下三种类型的异常:
**检查性异常:**最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
程序中预先设置好对付异常的处理办法→程序运行→异常→对异常进行处理→处理完毕,程序继续运行
Java中如何进行异常处理
Java的异常处理是通过5歌关键字来实现的:
try,catch,finally,throw,throws
在try-catch块后加入finally块
1.是否发生异常都执行
2.不执行的唯一情况(在catch块中System.exit(1);中断程序,退出Java虚拟机)
引发多种类型的异常
1.排列catch语句的顺序:先子类后父类
2.发生异常时按顺序逐个匹配
3.只执行第一个与异常类型匹配的catch语言
常见的异常类型
通用异常
在Java中定义了两种类型的异常和错误。
JVM(Java虚拟机) 异常:由 JVM 抛出的异常或错误。例如:NullPointerException 类,ArrayIndexOutOfBoundsException 类,ClassCastException 类。
*程序级异常:*由程序或者API程序抛出的异常。例如 IllegalArgumentException 类,IllegalStateException 类。