Java_72_异常机制_Exception_Throwable_Error的概念

一、引导问题

实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求,你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等,我们的程序在跑着,内存或者硬盘可能满了。等等

原件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们交异常,英文是:Exception,意思是例外,这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。而不至于程序崩溃。

常见的错误:

1.用户输入错误

2.设备错误

硬件问题,比如打印机关掉、服务器问题

3.物理限制

磁盘满了。

4.代码限制

数组下标越界等

设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而中断或产生不可预见的结果。

如果没有异常处理机制,那么:

//将d:/a.txt 复制到 e:/a.txt

if("d:/a.txt"这个文件存在){

if(文件复制一半IO流断掉){

停止copy,输出:IO流出问题。

}else{

copyFile("d/a.txt","e:/a.txt")

}

}else{

输出:e盘空间不够存放a.txt!

}

}else{

输出:a.txt不存在!

}

两个坏处:

1.逻辑代码和错误代码放一起!

2.程序员本身需要考虑的例外情况较复杂,对程序员本身要求教高!

异常机制就是当程序出现错误,程序如何安全退出的机制。

异常(Exception)的概念

Java如何处理异常?

第一个异常示例和解析:

public static void main(String[] args){

int i=1/0;

}

Exception in thread "main" java.lang.ArithmeticException:/by zero at chuji.BubbleSort.main(BubbleSort.java:11)

Java是采用面向对象的方式来处理异常的。处理过程:

1.抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。

2.捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。

发布了136 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/pmcasp/article/details/87950183