什么是异常
- 实际工作中,遇到的情况不可能是非常完美的。比如,你写的某个代码块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,等等的问题。
- 软件程序在运行的过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文名是:Exception,意思是例外。这些例外情况,或者叫异常,怎么让我们写的程序做出合理的处理,而不至于程序崩溃。
- 异常指程序运行中出现的不期而至的各种情况,如:文件找不到、网络连接失败等。
- 异常发生在程序运行期间,它影响了正常的程序运行流程。
异常体系结构
-
简单分类:
- 检查性异常:最具代表性的检查性异常是用户错误或者问题引起的错误,这是程序员无法遇见的。
- 运行时异常:运行时异常是可以被程序员避免的异常。运行时异常可以在编译时被忽视。
- 错误:错误不是异常,而是脱离程序员控制的问题。错误经常被忽略,编译时也检查不到。
-
java把异常当成对象来处理,并定义一个基类java.lang.Throwable作为异常的超类。
-
在java api中定义了许多异常类,分为错误Error和异常Exception。
-
Error类对象由java虚拟机生成并抛出,大多数错误于代码编写者执行的操作无关。
-
Exception类异常一般由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。
-
java异常处理机制
异常处理的五个关键字:
try,catch,finally,throw,throws
try{
//try是监控区域。
}catch(异常类型 变量名){
//catch是遇到了该怎么解决。
}finally{
//finally是程序无论有没有异常,都会执行。
}
//可以不要finally,catch可以写多个。
public class demo01 { //声明异常 throws
public static void main(String[] args) throws Exception{
}
}
//主动抛出异常 throw
throw new 异常类型();
throw new ArrayIndexOutOfBoundsException();