请问多重try catch块和嵌套try catch块的区别是什么?
我这里有两个程序,分别使用多重try catch块和嵌套try catch块实现的。但是结果却相同。使用多重try catch块的方式不是更简洁吗?为什么还需要使用嵌套的try catch块。它们到底有什么区别呢?那个效率更高呢?多谢多谢!
使用多重的例子——
class NumberException {
public void test(final String[] argument) {
try {
System.out.println("传递的参数是:"+argument[0]);
int numValue = Integer.parseInt(argument[0]);
System.out.println(argument[0] +"的平方" + "是" + numValue * numValue);
} catch (ArrayIndexOutOfBoundsException ne) {
System.out.println("请输入数字。");
} catch (NumberFormatException nb) {
System.out.println("不是一个数。");
}
}
}
class MultipleCatch {
public static void main(String[] args) {
NumberException obj = new NumberException();
obj.test(args);
}
}
下面是多重的计算结果:
C:\>java MultipleCatch
请输入数字。
C:\>java MultipleCatch aaa
传递的参数是:aaa
不是一个数。
C:\>java MultipleCatch 12
传递的参数是:12
12的平方是144
使用嵌套的例子——
class NestedException {
protected NestedException() {
}
public void test(final String[] argument) {
try {
System.out.println("传递的参数是: " + argument[0]);
try {
int numValue = Integer.parseInt(argument[0]);
System.out.println(argument[0] +"的平方" + "是"
+ numValue * numValue);
} catch (NumberFormatException nb) {
System.out.println("不是一个数! ");
}
} catch (ArrayIndexOutOfBoundsException ne) {
System.out.println("请输入数字。");
}
}
}
class NestedTry {
protected NestedTry() {
}
public static void main(String[] args) {
NestedException obj = new NestedException();
obj.test(args);
}
}
下面是使用嵌套输出的结果:
C:\>java NestedTry
请输入数字。
C:\>java NestedTry aaa
传递的参数是: aaa
不是一个数!
C:\>java NestedTry 12
传递的参数是: 12
12的平方是144
到底有啥区别阿?
问题点数:20、回复次数:5Top
1 楼UnAgain()回复于 2006-06-03 19:36:57 得分 10
try {
System.out.println("传递的参数是: " + argument[0]);
// 我在这里加一个循环。
for (int i=0; i<3; i++) {
try {
int numValue = Integer.parseInt(argument[0]);
System.out.println(argument[0] +"的平方" + "是"
+ numValue * numValue);
} catch (NumberFormatException nb) {
System.out.println("不是一个数! ");
}
}
} catch (ArrayIndexOutOfBoundsException ne) {
System.out.println("请输入数字。");
}
如果出错的话,这段代码会出现3次,而多重只有一次。Top
2 楼tanlei_accp(爱梦薇)回复于 2006-06-03 19:41:49 得分 0
那就是说使用多重效率就更高了?那还要嵌套干什么?Top
3 楼vegetarian1(食草动物)回复于 2006-06-03 19:42:31 得分 0
aTop
4 楼vegetarian1(食草动物)回复于 2006-06-03 19:43:39 得分 0
accp? 北大青鸟?? 北大菜鸟??
屁问题,拿本入门读物去看看吧!Top
5 楼UnAgain()回复于 2006-06-03 21:57:27 得分 10
呵呵,不是单纯效率高低的问题。
比如有时内层出现的问题不严重,并且你还想继续执行。Top




