当前位置: 首页 > 编程语言 > Java > 正文

Java编程那些事儿83——异常处理语法2

时间:2010-03-15 csdn 陈跃峰

10.3.3 捕获异常及异常处理

在整个异常处理机制中,异常在系统中进行传递,传递到程序员认为合适的位置,就捕获到该异常,然后进行逻辑处理,使得项目不会因为出现异常而崩溃。

为了捕获异常并对异常进行处理,使用的捕获异常以及处理的语法格式为:

try{

 //逻辑代码

}catch(异常类名 参数名){

 //处理代码

}

在该语法中,将正常的程序逻辑代码书写在try语句块内部进行执行,这些代码为可能抛出异常的代码,而catch语句中书写对应的异常类的类名,在catch语句块内部书写出现该类型的异常时的处理代码。

程序执行到try-catch语句时,如果没有发生异常,则完整执行try语句块内部的所有代码,而catch语句块内部的代码不会执行,如果在执行时发生异常,则从发生异常的代码开始,后续的try语句块代码不会执行,而跳转到该类型的异常对应的catch语句块中。

示例代码如下:

String s = "123";

try{

 int n = Integer.parseInt(s);

 System.out.println(n);

}catch(NumberFormatException e){

 System.out.println("该字符串无法转换!");

}

在该示例代码中,Integer类的parseInt方法可能会抛出NumberFormatException,因为parseInt方法的声明如下:

public static int parseInt(String s) throws NumberFormatException

这里字符串s转换为int没有发生异常,则程序执行完try语句块内部的代码,程序的运行结果为:

123

如果将字符串对象s的值修改为”abc”,则运行上面的代码,则parseInt方法执行时将抛出NumberFormatException,则调用parseInt方法语句后续的try语句块中的代码不会执行,程序的执行流程跳转到捕获NumberFormatException异常的catch语句块内部,然后执行该catch语句块内部的代码,则程序的执行结果是:

该字符串无法转换!