设为首页收藏本站language 语言切换
查看: 309|回复: 0
收起左侧

Java语言程序设计2(12)

[复制链接]
发表于 2011-9-5 11:05:18 | 显示全部楼层 |阅读模式
反复地看书,做题,因为本课程主要是一些理论的知识,要求记忆的内容很多,因此,必须多做题,多看书,在做题的过程中检验自己对知识的理解和掌握情况是否到位、正确。自己总结课程的内容,也是帮助理解和记忆的好方法。为了更好的帮助大家考试,考试百科在文章Java语言程序设计2(12)中,为大家提供的如下内容:
catch子句中都有一个代表异常类型的形式参数,这个参数指明了这个catch程序块可以捕获并处理的异常类型。若产生的异常类型与catch子句中声明的异常参数类型匹配,则执行这个catch程序块中的异常处理程序。匹配的意思是指异常残俗话类型与实际产生的异常类型一致或是其父类。若不匹配,则顺序寻找下一个catch子句,因此catch已经的排列顺序应该从特殊到一般,否则,放在后面的catch已经将永远执行不到。
也可以用一个catch已经处理多个异常类型,这是它的异常类型参数应该是这多个异常类型的父类。
若所有catch参数类型与实际产生的异常类型都不匹配,则标准异常处理程序将被调用,即在输出设备上输出异常信息,同时程序停止运行。
【例3.27】 捕获除数为零的异常,并显示相应信息。
class ExceptionDemo{
public static void main(String args[]){
int d,a;
try{ //监控可能产生异常的代码块
d = 0;
a = 68/d;
System.out.println(“本字符串将不显示。”);
}catch(ArithmeticException e){ //捕获divide-by-zero错误
System.out.println(“产生用零除错误。”);
}
System.out.println(“在捕获语句后。”);
}
}
程序运行结果如下:
产生用零除错误。
在捕获语句后。
【例3.28】 多个catch子句的try语句。
class ExceptionDemo2{
public static void main(String args[]){
try{
int a = args.length;
System.out.println(“a = ”+ a);
int b = 42/a;
int c[] = {1};
c[4] = 99;
}catch(ArithmeticException e){ //捕获算术运算异常
System.out.println(“Divide by 0: ” + e);
}catch(ArrayIndexOutOfBoundsException e){ //捕获数组下标越界异常
System.out.println(“Array index oob: ” + e);
}
System.out.println(“After try/catch blocks。”);
}
}
程序运行结果如下:
a = 0
Divide by 0:java.lang.ArithmeticException:/by zero
After try/catch blocks。
上面就是文章Java语言程序设计2(12)的部分内容,后续文章请继续关注考试百科。http://pc.kaoshibaike.com 相关论坛:http://bbs.kaoshibaike.com/forum.php?mod=forumdisplay&fid=83
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-7-4 05:20 , Processed in 0.080281 second(s), 21 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表