- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java异常处理学习完本章后,你应该知道并掌握异常概念类层次处理.doc
Java异常处理
学习完本章后,你应该知道并掌握:
异常概念
类层次
处理机制
处理方式
处理原则
自定义异常
概述
在《java问题。虽然javajava要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意
任务分析
在进行程序设计时,错误的产生是不可避免的,如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都要解决的问题。
所谓错误,是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻止程序的正常运行。为了加强程序的鲁棒性(强壮性,robust),程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。
时间:3课时
相关知识
Error:由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,Java程序不做处理。Java虚拟机在运行时生成的例外,如被0除等系统错误、数组下标超范围等,其产生比较频繁,处理麻烦,对程序可读性和运行效率影响太大。因此由系统检测, 用户可不做处理,系统将它们交给缺省的异常处理程序(当然,必要时,用户可对其处理)。编译器会对此作检查,要么在方法体中声明抛出checked Exception,要么使用catch语句捕获checked Exception进行处理,不然不能通过编译Java编译器要求Java程序必须捕获或声明所有的非运行时异常。Error 类及其子类描述了 java 运行时系统的内部错误和资源耗尽错误。出现这样的错误除了通知用户,并接尽力使程序安全地终止之外,没有更好的办法Exception 类的层次结构又分为两个分支:一个分支由 RuntimeException 派生,另外一个分支包含除 RuntimeException 类之外的异常类java虚拟机java虚拟机寻找和try关键字匹配的处理该异常的catch块,如果找到,将控制权交到catch块中的代码,然后继续往下执行程序,try块中发生异常的代码不会被重新执行。如果没有找到处理该异常的catch块,在所有的finally块代码被执行和当前线程的所属的ThreadGroup的uncaughtException方法被调用后,遇到异常的当前线程被中止package com.hwadee.train.grammar;
public class TestException {
public static int divide(int i, int j) {
System.out.println(divide call start);
int result = i / j;
System.out.println(divide call end!);
return result;
}
public static void compute() {
int i = 1, j = 0;
divide(i, j);
System.out.println(program exit...);
}
public static void main(String[] args) {
compute();
}
}
通过try catch处理掉
try {
int result = i / j;
}catch(ArithmeticException e) {
e.printStackTrace();
}
finally {
System.out.println(finally ....);
}
通过throw throws抛出
如果方法遇到一个不知道如何处理的意外情况(abnormal?condition),那么它应该抛出异常public static int divide(int i, int j) throws ArithmeticException {……}
处理原则
底层代码将异常抛出
如果希望客户程序员采取措施,那么抛出检查型异常传入非法输入参数不要一次捕获所有的异常使用finally块释放资源自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,根据异常名就可以知道哪里有异常,根据异常提示信息进行修改class TransferLimitExcetion extends Exception {
public TransferLimitExcetion(double money) {
super(money + exceed transfer limit:20000);
}
}
public class TestException {
private static final int MAX_TRANSFER_MONEY = 20000;
public voi
您可能关注的文档
- DataMiningTakeHomeExam学号姓名1.(20分)考虑下表的数据集.doc
- DataversusInformation数据及信息的分别.doc
- dbNews_201121014414188.doc-国家实验动物中心.doc
- dbNews_20115917241138.doc-国家实验动物中心.doc
- DCS系统在硫酸余热发电过程中的应用-米尔自动化网.doc
- DEBUG命令-湖南大学.ppt
- DEV205企业程序库(EnterpriseLibrary)-Microsoft.ppt
- DIVCSS布局技巧实例.doc.doc
- dorado产品构成.doc
- dpj01-如何快速入门单片机C语言.doc.doc
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
最近下载
- 剧本杀剧本之诛心太平间 5-6人开放.doc
- 《ISO 55013-2024 资产管理-数据资产管理指南》解读和实施指导材料(雷泽佳编制-2024).pdf VIP
- 乡村振兴背景下农村人居环境整治研究问题及对策建议.pdf VIP
- 船舶工艺技术发展展望.pptx VIP
- 2024年秋新人教版地理七年级上册教学课件 4.1 多变的天气.pptx
- 小学生《食品安全教育》PPT课件.pptx
- (统编版2024)语文七年级上册 《朝花夕拾》整本书阅读课件(新教材).pptx
- 2024年国际心肺复苏(CPR)与心血管急救(ECC)指南.pptx
- 发展中医药老年健康服务实施方案.pdf VIP
- 某税务局领导关于强化垂直管理意识的研讨发言材料3篇.docx VIP
文档评论(0)