- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
异常
NIIT培训 铸就辉煌IT人生
目标:
Java异常的概念和分类
Java异常处理机制
用户自定义异常
生活中的异常
正常情况下,小王每日开车去上班,耗时大约30分钟
但是,异常情况迟早要发生!
一路畅通
堵车!
撞车!
程序中的异常
如何解决该问题呢?
尝试通过if-else来解决异常问题,可行吗?
不可行!!
1、代码臃肿
2、程序员要花很大精力堵漏洞“
3、程序员很难堵住所有“漏洞”
如果由Java系统来堵漏洞,那程序员
就轻松多了!
Java就是这么做的!异常机制
什么是异常
异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序
面对异常该怎么办呢?通常情况下,我们会这样处理:
绕行或者等待
请求交警解决
异常!
程序运行
程序中断运行
堵车!
撞车!
生活中,我们会根据不同的异常进行相应的处理,而不会就此中断我们的生活
什么是异常处理
Java编程语言使用异常处理机制为程序提供了错误处理的能力
程序中预先想好了
对付异常的处理办法
异常!
程序运行
处理完毕,程序继续运行
对异常进行处理
Java中如何进行异常处理
Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws
捕获异常
catch
try
finally
执行可能产生
异常的代码
捕获异常
无论是否发生异常,
代码总能执行
手动抛出异常
抛出异常
throw
声明异常
声明方法可能要
抛出的各种异常
throws
try-catch块(1)
使用try-catch块捕获异常,分为三种情况:
try
catch
try-catch 块后的代码段
public void method(){
try {
// 代码段(此处不会产生异常)
} catch (异常类型 ex) {
// 对异常进行处理的代码段
}
// 代码段
}
第一种情况
try-catch块(2)
try
catch
异常类型匹配
try-catch 块后的代码段
进入catch块
public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
// 代码段 3
} catch (异常类型 ex) {
// 对异常进行处理的代码段4
}
// 代码段5
}
第二种情况
产生异常对象
程序继续执行
异常是一种特殊的对象,类型为java.lang.Exception或其子类
发生异常
try-catch块(3)
printStackTrace的堆栈跟踪功能显示出程序运行到当前类的执行流程
java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at cn.jbit.exception.Test3.main(Test3.java:15)
异常类型
异常堆栈信息
在此方法中抛出了异常
出现异常的位置
try-catch块(4)
try
catch
异常类型不匹配
try-catch 块后的代码段
程序中断运行
发生异常
public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
// 代码段 3
} catch (异常类型 ex) {
// 对异常进行处理的代码段4
}
// 代码段5
}
第三种情况
产生异常对象
try-catch块(5)
在catch块中处理异常
加入用户自定义处理信息
调用异常对象的方法输出异常信息
e.printStackTrace();
System.err.println(出现错误:被除数和除数必须是整数, + 除数不能为零。);
方法名
说 明
void printStackTrace()
输出异常的堆栈信息
String getMessage()
返回异常信息描述字符串,
是printStackTrace()输出信息的一部分
常见的异常类型
try-catch-finally
在try-catch块后加入finally块,可以确保无论是否发生异常,finally块中的代码总能被执行
finally块中语句不执行的唯一情况
异常处理代码中执行Sys
您可能关注的文档
最近下载
- (高清版)DB62∕T 3175-2019 强夯法处理黄土地基技术规程.pdf VIP
- 最新苏教版三年级数学上册单元测试题及答案全册21套(最全).doc VIP
- 2025年《中国卒中中心建设指南》要点 .pdf VIP
- TCEPCA《构网型静止无功发生器现场系统调试技术规范》.docx VIP
- DB14T3520-2025水土保持梯田工程技术规范.pdf VIP
- GB50607-2010:高炉喷吹煤粉工程设计规范.pdf VIP
- AQ 2003-2018 轧钢安全规程(正式版).docx VIP
- SMT工艺能力单元6--掌握贴片设备和贴片工艺.pptx VIP
- 15D502 等电位联结安装.pdf VIP
- 就业社会政策..ppt VIP
原创力文档


文档评论(0)