1 / 17
文档名称:

第九章异常处理.ppt

格式:ppt   页数:17
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第九章异常处理.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第九章异常处理.ppt

文档介绍

文档介绍:JAVA语言程序设计 第九章异常处理
异常是指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。由于异常情况总是难免的,良好的应用程序除了具备用户所要求的功能以外,还应该具备预见并处理可能发生的各种异常的功能。这种对异常情况进行处理的技术成为异常处理。
计算机系统对检查异常处理通常有两种方法,第一种是计算机系统本身直接检测程序中的错误,遇到错误给出错误信息并终止程序的运行,第二种办法是由程序员在程序中加入异常处理功能。
异常处理
:
1检查型异常:是由超出程序员控制能力的外部条件所引发的。例如:在输入和输出过程中出现的异常。因此,编译程序坚持让程序员提供处理这些情况的代码。
2非检查型异常:通常来自于程序员的失误。
JAVA的异常处理机制
JAVA提供了功能强大的异常处理机制,可以方便的在程序中监视可能发生异常的程序块,并将所有异常处理代码集中放置在程序的某处,使完成正常功能的程序代码与进行异常处理的程序代码分开。
在JAVA的异常处理机制种引进了很多用来描述和处理异常的类,称为异常类。每个异常类反映一类运行错误,类定义中包含了该类异常的信息和对异常进行处理的方法。每当程序运行过程中发生了某个异常现象,系统将产生一个相应的异常类对象,并交给系统中的相应机制进行处理,以避免死机、死循环或其他对系统有害的结果发生,保证程序运行的安全性
JAVA将异常分为Exception(异常)和Error(错误)两大类。 Exception类解决由程序本身及环境所产生的异常,而Error类处理内部系统错误。 Exception类异常可以被捕获并进行处理,而对Error类异常,程序员通常无能为力,只能在其发生时由用户按照系统提示关闭程序。
Object
Throwable
Exception
Error
异常类的继承结构
Exception 子类的继承关系
Exception
ClassNotFoundException
ClassNotSupportedException
essException
InstantiationException
InterruptedException
NoSuchMethodException
RuntimeException
ArithmeticException
ArrayStoreException
ClassCastException
IllegalArgumentException
IllegalThreadStateException
NumberFormatException
IllegalMonitorStateException
IndexOutOfBoundsException
ArrayIndexOutOfBoundsException
StringIndexOutOfBoundsException
NegativeArraySizeException
NullPointerException
SecurityException
考察下列方法:
public void read(String filename)
{FileReader reader=new FileReader(filename);
……
}
异常处理方法
一旦编写了可能会导致检查异常的代码时,必须采用以下两种措施中地一种:
 
2. (或捕获)异常
throws FileJNotFoundException
(1)read方法的实现者可能并不知道如何更正所出现的情况;最理想的解决方法:将异常向上传递给它的调用程序。
try{
//可能异常的程序代码
}
catch(IOException exception)
{//对应的异常处理代码
}
(2)但是,如果不希望程序在用户提供非法文件名时终止执行,则需要捕获这个异常。可用以下:
(3)有时,方法还必须执行某种操作,即使之前的语句产生了异常。例如释放不再使用的资源、关闭使用完毕的文件等。
这意味着read方法终止执行,而异常则抛给了调用它的方法。
finally
{ 必须执行的代码}
Finally块是可选项,无论是否发生异常,该块代码必定执行
捕获多个异常
//捕获数组下界越界异常,当i<=5改为i<5时执行正常
public class Exception9_1 {
public static void main(String args[]) {
try
{
int a[]={1,2,3,4,5},sum=0;
for(int i=0; i<=5; i++)sum+=a[i];
Syst

最近更新

休克病人的septicshock护理要点 38页

儿科护理中的创新与实践 30页

2023年三亚航空旅游职业学院单招职业适应性考.. 41页

2023年上海市单招职业适应性考试题库含答案 41页

2023年上海海事大学单招职业倾向性测试题库推.. 41页

2023年上海第二工业大学单招职业技能测试模拟.. 40页

2023年云南机电职业技术学院单招职业技能考试.. 38页

2023年云南经贸外事职业学院单招职业技能考试.. 40页

2023年仰恩大学单招职业适应性考试题库必考题.. 40页

2023年保险职业学院单招职业倾向性考试模拟测.. 42页

2023年克拉玛依职业技术学院单招职业技能测试.. 40页

2023年兰州石化职业技术学院单招职业适应性考.. 39页

2023年冀中职业学院单招职业倾向性考试题库附.. 40页

2023年内蒙古体育职业学院单招职业适应性测试.. 40页

2026年兔年春节对联 13页

2023年内蒙古通辽市单招职业适应性测试题库完.. 39页

2023年北京戏曲艺术职业学院单招职业倾向性考.. 39页

2023年南京交通职业技术学院单招职业倾向性考.. 39页

2023年南京视觉艺术职业学院单招职业倾向性测.. 38页

2023年厦门东海职业技术学院单招职业技能考试.. 41页

2023年厦门工学院单招职业适应性考试题库完美.. 40页

2023年吉安幼儿师范高等专科学校单招职业适应.. 40页

2023年吉林电子信息职业技术学院单招职业倾向.. 40页

2023年吉林省长春市单招职业适应性测试题库必.. 41页

小学数学六年级下册《鸽巢问题》作业设计 9页

【人教版英语字帖】七年级下册单词表衡水体字.. 42页

国开《建筑力学》期末机考答案 15页

农村人才流失国外研究报告 2页

住院患者自带药品使用管理规定通知 3页

栏杆计算书 2页