- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 Jaa中的异常(例外)
7.1 什么是异常
7.2 异常的处理
7.3 自定义异常类的使用
;7.1 什么是异常; 2.程序设计中的三种错误---语法错误(编译时的错误)、逻辑错误(运行时的错误)、异常错误(运行时的错误)。
3.异常错误的特点:程序在运行过程中所发生的错误事件;程序员在编程时无法预知它是否会产生;产生与否取决于用户当时的执行环境。
……
;import java.io.*;
class ExceptionDemo
{
public static void main(String args[])
{ FileInputStream fis=new FileInputStream(“text”);
int b;
while((b=fis.read())!= -1)
{ System.out.println(b);
}
fis.close();
}
}
;2、异常处理机制 ;异常处理机制执行过程:
出现异常事件时,Java系统自动产生一个异常对象,然后将这个对象传递给Java运行时系统,这个例外产生和提交的过程称为抛出(throw)异常( Exception );当Java运行时系统得到例外对象以后,它将会寻找处理这一例外的代码,找到能处理这一例外的方法以后,运行时系统把当前例外对象交给这个方法进行处理,这一过程称为捕获(catch)异常( Exception ) 。
;3、异常类的层次和主要子类;7.2异常处理;1 、try~catch~finally语句;多catch语句块编程要点:
①catch语句的顺序: 捕获异常的顺序和catch语句的顺序有关,当捕获到一个异常时,剩下的catch语句就不再进行匹配。因此,在安排catch语句的顺序时,首先应该捕获最特殊的异常,然后再逐渐一般化。也就是一般先安排子类,再安排父类。
②???? try 与catch之间不能有其他语句(不能隔断)。
try
{ }
int x=1;
catch(Exception e)
{ };finally:它指定一代码块,不管是否有异常产生或是否捕获住该异常,程序都从此处继续向后执行。从而达到提供统一的出口(如关闭文件、清除系统资等)。
finally
{ if(fis !=null)
{ System.out.println(“Closing file…”);
fis.close();
}
else { System.out.println(“FileInputStream not Open !”);
}
};public class ExceptionDemo //实例一
{ static void compute(int a) throws Exception
{ if(a 10)
throw new Exception();
System.out.println(Normal Exit);
}
public static void main(String args[ ])
{ try
{ int Value=1;
异常的捕获
compute(Value);
Value=20;
compute(Value);
}
catch(Exception e)
{
System.out.println(Caught + e);
}
}
}
;2、声明所抛出的异常 ;import java.io.*; //实例二
class ExceptionDemo2
{ public static void main(String args[]) throws Exception //异常的继续声明(继续上传)
{ int Value=1;
异常的声明
compute(Value);
Value=20;
compute(Value);
}
static void compute(int a) throws Exception
{ if(a 10)
throw new Exception();
System.out.println(Normal Exit);
}
}
;3、声明和抛出异常;2.抛出异常:
1系统自动抛出的异常(程序中出现系统中定义的异常时,可以由系统自动抛出)。
2对于在函数定义时采用throws声明所不处理的异常类型时,在其函数体中必须使用“throw 异常事件(对象名)” 来抛出该种类型的异常事件(程序员自己抛出程序中定义的自己的异常事件),以便上一级的调用者来捕获并处理它。
例
文档评论(0)