本帖最后由 杨习平 于 2012-9-7 18:54 编辑
public class Test7 {
public static void main(String[] args) {
// 调用Re()方法并打印输出
int num = Re();
System.out.println(num);
}
// 定义一个静态的Re()方法
public static int Re() {
// 先定义一个int x:并赋初始值
int x = 10;
// 异常处理
try {
System.out.println("try");
x = 20;
// 可能抛异常
throw new Exception();
} catch (Exception e) {
System.out.println("catch");
// 返回x,在这里编辑器会记住这个数值为20
return x;
} finally {
System.out.println("finally");
// 编辑器执行到这儿是不会影响到之前的返回值,依然返回20
x = 30;
}
}
}
所以java虚拟机是按照先后顺序,当然你的问题通过下面语句和上面的例子就明白了
-------------------------------------------------
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理,如果是有return语句,则必须是在finally之后才返回的。
用try来指定一块预防所有"异常"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。
throw语句用来明确地抛出一个"异常"。
throws用来标明一个成员函数可能抛出的各种"异常"。
Finally为确保一段代码不管发生什么"异常"都被执行一段代码。
可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,"异常"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理,堆栈就会展开,直到遇到有处理这种"异常"的try语句。
|