java异常处理机制(3)(精)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java异常处理机制

一、什么是java的异常?

异常是导致程序中断运行的一种指令流,软件和硬件错误都可能导致异常的产生,用户输入错误,所需要的文件找不到,运行时磁盘空间不够,内存不够,算术运算错误(数的溢出、被零除),数组下标越界……

模仿一个异常:

package com.destiny;

public class Exception {

public static void main(String[] args {

System.out.println("********开始计算****************";

int i = 10;

int j = 0;

int m = i/j;//出现异常

//程序中断,以下部份没有执行

System.out.println("10除以0的结果是:"+m;

System.out.println("********完成计算****************";

}

}

结果:

********开始计算****************

Exception in thread "main" ng.ArithmeticException: / by zero

at com.destiny.Exception.main(Exception.java:8

二、异常处理方式

异常出现后,如果没有进行合理的处理,则会让应用程序中断运行。

Try{

放置可能会出现异常的语句

}catch(异常类异常类的对象{

处理异常的语句

}catch(异常类异常类的对象{

可以有多个,是因为try中的语句可能会抛出多个不同的异常,括号中的异常类有很多,不同的类就代表不同的异常,如果异常出现了,而catch所指定的异常类不属于产生的异常,那么该异常将不会被捕捉到。

}finally{

可选的语句块,不管是否出现了异常,该语句块的语句都要执行,比如关闭数据库的连接等

}

例子:

package com.destiny;

public class Exception00 {

public static void main(String[] args {

System.out.println("********开始计算****************";

int m=0;

try {

int i = 10;

int j = 0;

m = i/j;

} catch (ArithmeticException e {

System.out.println("异常被捕捉";

e.printStackTrace(;

}finally{

System.out.println("finally中的语句被执行";

}

}

}

结果:

********开始计算****************

ng.ArithmeticException: / by zero

异常被捕捉

at com.destiny.Exception00.main(Exception00.java:10

finally中的语句被执行

注意:

以上代码如果catch块声明成 catch (NumberFormatException e ,则异常将不会被捕捉,也不会被处理,但finally块中的代码也会被执行。

package com.destiny;

public class Exception00 {

public static void main(String[] args {

System.out.println("********开始计算****************";

int m=0;

try {

int i = 10;

int j = 0;

} catch (NumberFormatException e {

System.out.println("异常被捕捉";

e.printStackTrace(;

}finally{

System.out.println("finally中的语句被执行";

}

}

}

结果:

********开始计算****************

finally中的语句被执行

Exception in thread "main" ng.ArithmeticException: / by zero at com.destiny.Exception00.main(Exception00.java:10

三、异常处理机制

在整个的java异常处理中,实际上也是按照面向对象的方式进行处理的,一旦产生异常,则首先会产生一个异常类的实例化对象。

我们可以在try语句中对此异常进行捕捉。

产生的异常对象与catch中的各个异常类型进行匹配,如果匹配成功,则执行catch 块中的语句。

如果有finally语句,则最后执行finally中的语句。

例子:

public class Test {

public static void main(String[] args

{

int temp;

try {

int i=13;

相关文档
最新文档