异常处理基础1

来源:互联网 发布:cscl是什么软件 编辑:程序博客网 时间:2024/05/06 19:13
                  第五章 异常处理基础1

对于java程序中出现的异常,java通常采取事后处理的方法。

一、异常处理机制的必要性
1.面向过程语言错误处理方式的缺陷。
(1)不进行范围检查(如数组下标越界,数据范围错误等)
(2)采用if语句进行事先判断以防止出现错误。
2.面向对象语言异常处理机制的思想
(1)将程序正常代码与错误处理代码分开。
(2)使程序具有错误处理的能力。

二、错误与异常
错误(error)指程序运行时遇到的硬件或操作系统的错误。 (Error错误类)
异常(exception)指在硬件和操作系统正常时,程序遇到的运行错误。 (Exception异常类)。

三、错误类和异常类图示

这里写图片描述

四、程序对错误与异常的三种处理方式
1.程序不能处理错误
2.程序应避免而不捕获的异常,如除数为0、数组下标越界等。
3.必须捕获的异常

五、异常处理语法
try {
语句1 //存在潜在异常的代码
}
catch (异常类1 异常对象) {
语句2 //先小网(子类)
}
catch (异常类2 异常对象) {
语句3 //再大网(父类)
}
…….
catch (Exception e) {//防护异常
e.printStackTrace(); //显示异常栈跟踪信息
}
finally {
语句5 //最后必须执行的代码,无论是否捕获到异常
}

六、注意
1.Java异常中,凡是“RuntimeException及其子类”的属性运行可异常,如果不try,catch,编译不会出错。但运行时如果发生异常,则没有捕捉程序会报错。
2.“非RuntimeExceotion及其子类”为编译时异常,如果不处理(try,catch)则编译不会通过。

eg
1.整数除0会出现ArithmeticException异常
2.浮点0除以0,结果为NaN
3.以后只要是访问堆内存中的数据,就要先用if进行空指针异常防护
这里写图片描述

这里写图片描述

原创粉丝点击