- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java中的异常处理 * Case:例6.1 TryCatchSequence.java java中的异常处理 * Case:例6.1 TryCatchSequence.java 【程序解析】 编译后在命令行状态执行,第一次执行未带有任何参数,则args[0]不存在,程序执行到b=Integer.parseInt(args[0])语句时,发生数组下标越界异常,系统自动抛出ArrayIndexOutOfBoundsException异常,并退出try语句块,后面的语句不会被执行,该异常被第一个catch块捕获并处理,输出异常名及其发生的路径。最后执行finally语句块。 第二次执行参数为0,则args[0]获得值“0”,执行b=Integer.parseInt(args[0])语句不会产生异常,并使b=0,当执行c=a/b语句时,由于除数为0,产生算术运算异常,系统自动抛出Arithmetic- Exception异常,后面的语句不会被执行,退出try语句块,该异常被第二个catch块捕获并处理,输出异常名及其发生的路径。最后执行finally语句块。 第三次执行参数为5,此程序执行时不会产生任何异常,执行完try语句块中的所有语句之后,执行finally语句块。 java中的异常处理 * 常见的异常 ArithmeticException ArrayIndexOutOfBandsException ArrayStoreException IOException FileNotFoundException NullPointerException MalformedURLException NumberFormatException OutOfMemoryException 如果在使用能够产生异常的方法而没有捕获和处理,将不能通过编译 java中的异常处理 * 6.3.2 声明抛出异常 1. 抛出异常 在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象。生成的异常对象将传递给Java运行时系统,这一异常的产生和提交过程称为抛出(throw)异常。 2. 声明抛出异常 一个方法不处理它产生的异常,而是沿着调用层次向上传递,由调用它的方法来处理这些异常,叫声明抛出异常(throws).声明抛出异常是一种消极的异常处理机制。 java中的异常处理 * 1. 抛出异常 抛出异常就是产生异常对象的过程,首先要生成异常对象,异常由虚拟机生成,或者由某些类的实例生成,也可以在程序中生成。 系统生成的异常一般被Java运行时系统自动抛出,由Java系统监测,在程序中使用try-catch块进行捕获,此种方式也称隐式抛出。 异常也可在方法中显式抛出,即手工抛出,尤其是用户自定义异常必须由用户自己抛出。显式抛出异常对象是通过throw语句实现的。 java中的异常处理 * 1. 抛出异常 显式抛出异常对象是通过throw语句实现的。 例如, 显式抛出系统定义异常: IOException e = new IOException(); throw e ; // 显式抛出输入输出异常 ? 抛出自定义异常对象: throw new myException(出现异常!); java中的异常处理 * 可以抛出的异常必须是Throwable或其子类的实例。下面的语句在编译时将会产生语法错误,因为String类不是Throwable类的直接或间接子类: throw new String(want to throw); 在同一个方法中抛出异常和处理异常。 Case:例6.2 SeqStack.java java中的异常处理 * 2. 声明抛出异常 如果在一个方法中生成了一个异常,但是这一方法并不确切地知道该如何对这一异常事件进行处理,这时,一个方法就应该声明抛弃异常,使得异常对象可以从调用栈向后传播,直到有合适的方法捕获它为止。 也就是说抛出异常的方法和处理异常的方法不是同一个方法时,则需声明抛出异常。 用方法声明中的throws子句指明。例如: public int read () throws IOException{ ...... } java中的异常处理 * throws子句中同时可以指明多个异常,之间由逗号隔开。例如: public static void main(String args[]) throws IOException, IndexOutOfBoundsException {…} Case: 例6.3 SeqStack2.java java中的异常处理 * 对异常处理的进一步讨论: (1)对Error类或其子类的对象,程序中不必进行处理。 (2)对RuntimeExc
您可能关注的文档
- 第5章现代的工作分析方法20140514要点.ppt
- 第5章循环系统生理要点.ppt
- 第5章社区儿童与青少年保健指导要点.ppt
- 第5章线性系统的频域分析法要点.ppt
- 第5章自顶向下语法分析方法(6学时)要点.ppt
- 第5章西邮linux操作系统B第5章PPt要点.ppt
- 第5章细胞融合要点.ppt
- 第5章详细设计要点.ppt
- 第5章语法制导翻译技术和中间代码生成要点.ppt
- 第5章面向对象高级特性要点.ppt
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
文档评论(0)