- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Java异常处理Javaexceptionhandling第七章
目标/OBJECTIV握利用Java的try、catch、finally等关键字处理异常掌握异常的预防措施,增强代码的健壮性熟悉异常的利弊,学会合理运用掌握异常的本质,了解异常的产生原因及其产生的影响
01异常的引出
7.1异常的引出在实际的Java程序开发中,异常犹如航行的船只在大海中遇到的风浪,总是会有些许波折。这些异常,按其性质可分为两类:受检异常和非受检异常。受检异常就像是提前预知到的,早在编译时期就能够被明确检测到,开发者需要在代码中做出明确的处理,就如同船长在航行中要灵活应对各种天气变化。这些异常包括文件不存在、网络连接失败等等。而非受检异常则类似于船只在航行时突然遇到的风暴,常常是由于外部环境原因引起的,如引用的库未导入、数组越界等等。开发者需要迅速做出反应,以保障程序的运行完整。
异常的引出知识点概述针对ATM可能出现的异常,是可以提前预测的,所以该异常属于受检异常。根据日常生活的常识可以知道,ATM取钱金额不可为负数,且一旦取钱金额大于账户余额,取钱操作就会失败。人们从ATM上取钱时,偶尔会遇到诸如“余额不足”的情况。为应对取款金额和账户余额可能存在的异常:取款金额为负数、取款金额大于账户余额,设计一个简单的异常处理程序。例题任务
7.1异常的引出例题7.1引出ATM的异常1Copilot指令://设计一个简单的ATM操作程序,针对存取金额可能存在的异常,反馈错误信息。
7.1异常的引出例题分析上图的类模块ATM中的代码实现了小明取钱行为的相应反馈,比如取钱数值amount如果大于余额balance,则ATM反馈信息“账户余额不足!”。这样小明就可以很清楚自己能取出多少钱,以及完成之后的账户余额。例7.1中的代码实现了即时异常引出,使得用户不至于因为信息匮乏而不知所措。但是,为了实现这一功能,代码中添加了大量的条件控制语句。虽然程序的健壮性增强了,但是也显得很臃肿,可读性不佳。更重要的是,异常反馈信息很少,用户无法确切了解错误原因和解决方法。特别是遇到以上没能包含的条件时,程序将无法返回任何异常信息给用户。
7.1异常的引出Java异常处理机制为了解决复杂异常问题,Java内置了异常处理机制,预定义了Exception类。这就像是一个异常信息库,可以自定义各种错误信息,只要触发异常反馈条件即可向用户反馈针对性的异常信息,也可以附带可行的解决方法。另外,一些可预见的常见错误也可以统一归为一类,提高了处理效率和代码复用率。有了这种机制,程序执行时遭遇异常就不是简单的结束运行了,而是执行对应的异常处理,反馈异常信息,然后尽可能恢复程序执行。这为开发者带来了灵活的异常处理机制,合理运用可以大幅提高用户体验。
02异常的概念
7.2异常的概念在程序运行过程中,如果发生了某个异常,就称程序产生了一个异常事件,随之产生一个异常对象,该对象会包含异常的详细信息。异常对象可以由正在运行的程序产生,也可能是JVM或者外部环境产生。由于运行的程序本身不具有处理异常的能力,因此该异常对象会被转移至一个特殊系统:Java运行时系统。它包含了运行一个Java程序所需要的所有组件,包括JVM、类加载器、执行引擎等。而异常处理就是通过JVM实现的。这个过程也被称为抛出(throw)一个异常。针对可能出现异常的代码块,通常使用try关键字包围,然后通过catch块捕获并处理特定类型的异常。这样,即使异常发生,程序也能够继续执行。
7.2异常的概念优化例题7.1
7.2异常的概念异常的分类Java异常是编程中常见的概念,它们用于处理在程序执行期间可能出现的错误情况。异常分为两大类:Checked异常和Unchecked异常,又称受检异常和非受检异常。下面将详细介绍这两种异常以及它们的子类。Checked异常(受检异常)这类异常是在编译阶段被检测到的,程序必须对其进行处理,否则编译将失败。就好比在出门旅行之前,需要提前安排好行程和备用计划,以防各种突发问题。常见的Checked异常包括IOException、SQLException等。这些异常通常表示外部环境的问题,例如文件不存在、数据库连接失败等。
7.2异常的概念Unchecked异常(非受检异常)非Unchecked异常是在程序运行过程中才会被检测到的,通常由程序员的错误导致的,如数组越界,引用空对象等。这就好比人们突发感冒,而却无法提前预知,但是可以通过良好的生活习惯以减少患病的可能性。“RuntimeException”类及其子类就属于Unchecked异常。下图为数组越界的非受检异常。
7.2异常的概念Error类在Java中,Error类及其子类是用于表示严
您可能关注的文档
- AI赋能Java语言编程:从入门到高阶 课件 第九章 Java的图形用户界面设计.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第八章 Java语言的高级特性.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第二章 Java标识符与数据类型.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第六章 对象与类.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第三章 表达式和流程控制语句.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十二章 线程.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十三章 Java的网络功能.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十四章 算法竞赛中的Java编程.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十五章 AI链无代码生成平台Sapper.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十一章 Java数据流输入与输出.pptx
文档评论(0)