Java异常处理

Java异常处理

ID:40557290

大小:81.00 KB

页数:6页

时间:2019-08-04

Java异常处理_第1页
Java异常处理_第2页
Java异常处理_第3页
Java异常处理_第4页
Java异常处理_第5页
资源描述:

《Java异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java异常处理机制Java对异常的处理是面向对象的,也就是把异常当做对象来处理。当异常情况发生时,会创建一个代表该异常的对象,而且在错误出现的地方将这个异常抛出(throw或引发)。异常有两种:一种是由运行时系统自己产生的异常,另一种是由用户代码用throw抛出的异常。Java中一共提供了try

2、、catch、finally、throw和throws5个关键字来处理异常。其中,try-catch-finally需要配套使用,他们用来捕获和处理异常。throw用于抛出异常,throws用于声明有异常抛出。通常的异常语句处理块如下所示:try{可能产生错误需要监视的语句

3、序列}catch(异常类型1对象名){处理该异常的语句序列}catch(异常类型2对象名){处理该异常的语句序列}……catch(异常类型n对象名){处理该异常的语句序列}finally{资源保护语句序列}它的基本语法规则如下:ntry语句是必须的,他中间的语句序列一旦发生异常,将有可能被捕获。ncatch语句是可选的,可以有0个或多个。括号中的异常类型必须各不相同。一旦try发生了异常,系统将从上往下依次查找catch语句中是否有异常类型与其匹配,匹配成功就进入到该catch语句快中。nfinally语句是资源保护块,也是可选的,可以有0个或1个。无论是否发生了异常

4、,也无论异常是否被catch语句捕获,finally语句都会保证在最后被执行。ncatch和finally语句至少存在其中的一条。所有的异常类都是由Throwable类派生出来的,他有两个直接子类:Error和Exception,他们分别用来处理两类异常,他们又分别派生出若干子类,层次关系如下图所示:ObjectThrowableErrorException编译时异常运行时异常图中的Error类及其子类用来处理系统内部及程序运行环境的异常,一般与硬件有关,由系统直接处理,不需要程序员在程序中处理。Exception及其子类是程序抛出的异常,它又可分为两大类:运行时异常

5、和编译时异常。另外,处了系统定义的标准异常外,程序员还可以自己定义异常。运行时异常:运行时异常大多数是由于程序设计不当而引发的错误,但这种异常要在运行期间才会发生和被发现。例如:零做除数、数组下标越界、访问空对象等。这些错误完全可以通过改进程序加以克服,不需要对他们进行捕获。如果发生了这类异常,系统可以自动进行处理,并给出提示信息,程序员需要根据这些信息改进程序。当异常发生之后,他后面的语句不再被执行,转向了系统的异常处理。编译时异常:这类异常真正的发生仍然是在运行时,不过编译器在编译时会进行检查,一旦发现某些语句似的此类异常有产生的“可能”,就强制用户处理这类异常,

6、否则不能通过编译。例如输入输出异常:importjava.io.IOException;publicclassExceptionTest{publicstaticvoidmain(String[]args){charch;try{ch=(char)System.in.read();System.out.println(ch);}catch(IOExceptione){System.out.println("输入有错误!");}}}throw用于抛出异常,throws用于声明有异常抛出用户如果需要可以自己抛出异常。被抛出的异常对象,既可以是系统定义的异常类,也可以是用户

7、自己定义的新的异常类。抛出异常的格式如下:throw异常对象名;thrownew异常对类名();两种形式本质上是一样的。第一种形式需要先构造异常对象,因而较少用到。实际编程的过程中都是用的第二种形式,它在需要抛出异常的时候才创建异常对象。一条throw语句一旦被执行,程序立即转入相应的异常处理程序段,它后面的语句就不再执行了(这一点与return语句),而且它所在的方法也不再返回有意义的值。一个方法中,throw语句可以有多条,但每一次最多执行其中的一条。一般情况下,throw语句写在判断语句块中,一避免每次重复执行该语句。publicclassThrowExcept

8、ion{publicstaticvoidmain(String[]args){doublea=Math.random();try{if(a>0.5)System.out.println(a);elsethrownewException();//被抛出的异常对象是系统定义的异常类}catch(Exceptione){System.out.println(e.toString());}}}程序中main()方法自己抛出异常,并由自己捕获的。如果去掉try-catch语句,修规后程序如下:publicclassThrowException{publicst

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。