- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序设计中文1slide.ppt
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved. 0-13-222158-6 Chapter 13 异常处理 Objectives To know what is exception and what is exception handling (§13.2). To distinguish exception types: Error (fatal) vs. Exception (non-fatal), and checked vs. uncheck exceptions (§13.2). To declare exceptions in the method header (§13.3). To throw exceptions out of a method (§13.3). To write a try-catch block to handle exceptions (§13.3). To explain how an exception is propagated (§13.3). To rethrow exceptions in a try-catch block (§13.4). To use the finally clause in a try-catch block (§13.5). To know when to use exceptions (§13.6). To declare custom exception classes (§13.7 Optional). To apply assertions to help ensure program correctness (§13.8). 语法错误, 运行错误, 逻辑错误 我们学过程序有三类错误:语法错误, 运行错误, 逻辑错误。语法错误的原因是没有遵循语言的规则,它们可以由编译器检查发现。在程序运行过程中,如果环境发现一个不可能执行的操作,就会出现运行错误。如果程序没有按照预期的方案执行,就会发生逻辑错误不。本章主要介绍应用异常处理来处理运行错误。 运行错误 捕捉运行错误 异常类 系统错误 Exceptions Runtime Exceptions 必检异常和免检异常 必检异常和免检异常 声明、抛出、捕捉异常 声明异常 每个方法都必须说明它可能抛出的必检异常的类型,这称为声明异常。 public void myMethod() throws IOException public void myMethod() throws IOException, OtherException 注:如果在父类中方法没有声明异常,那么在子类中不能对其进行覆盖以声明异常。 抛出异常 程序检查到一个错误后,创建一个适当类型异常的实例并抛出它,这称为抛出异常。例如, throw new TheException(); TheException ex = new TheException();throw ex; 注:Java API中的每个异常类至少有两个构造方法:一个无参构造方法和一个带有String参数的构造方法。该参数用于描述异常,称为异常信息,可以使用getMessage( )获得。 抛出异常例子 /** Set a new radius */ public void setRadius(double newRadius) throws IllegalArgumentException { if (newRadius = 0) radius = newRadius; else throw new IllegalArgumentException( Radius cannot be negative); } 捕捉异常 try { statements; // Statements that may throw exceptions } catch (Exception1 exVar1) { handler for exception1; } catch (Exception2 exVar2) { handler for exception2; } ... catch (ExceptionN exVar3) { handler for exceptionN; } 捕捉异常 注:如果异常不能在当前的方法中捕获,就传给该方法的调用者。这个过程一直重复,直到异常被捕获或被传给
文档评论(0)