- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 Java异常处理
Java异常处理;所谓异常是指程序在运行过程中出现的不正常情况或错误。
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时是可以避免的。有些异常需要处理,有些则不需要处理
在不支持异常处理的计算机语言中,错误必须被手工的检查和处理——典型的是通过错误代码的运用
Java 异常是一个描述在代码段中发生的异常(也就是出错)情况的对象。当异常情况发生, 一个代表该异常的对象被创建并且在导致该错误的方法中被引发(throw) 。;Java 异常处理通过 5 个关键字控制:try、catch、throw、throws 和 finally
程序声明了你想要的异常监控包含在一个 try 块中。如果在 try 块中发生异常,它被抛出。你的代码可以捕捉这个异常(用 catch)并且用某种合理的方法处理该异常
任何在方法返回前绝对被执行的代码被放置在 finally 块中
手动引发一个异常,用关键字 throw。任何被引发方法的 异常都必须通过 throws子句定义;try
{
// 需要监控的语句块
}
catch (ExceptionType1 e1)
{
// 处理ExceptionType1类型的异常
}
catch (ExceptionType2 e2)
{
//处理ExceptionType1类型的异常
}
finally //可选
{
// 最后处理的语句块
};例子
class Test
{
public static void main(String args[])
{
int a = 0;
int b = 5 / a;
}
};通常异常分为三类:编译异常、运行异常、逻辑异常
编译异常是由于所编写的程序存在语法问题,未能通过由源代码到字节码的编译而产生的,它由语言的编译系统负责检查和报告。此类错误在编译的时候会被检查出来,并不会产生运行代码,只有更正程序中的语法问题后才可以运行程序。
运行异常是指程序在执行过程中发生的错误,它会中断程序的正常执行。例如,计算时除数为零、数组下标越界、文件没找到等。;逻辑运行异常是指程序不能实现编程人员的设计意图和设计功能而产生的错误,即程序运行后没得到预期的结果,和需求有不一致的地方。此类错误从语法上来说是有效的,只是程序在逻辑上存在缺陷。;所有异常类型都是内置类 Throwable 的子类。因此,Throwable 在异常类层次结构的顶层
Throwable 下面的是两个把异常分成两个不同分支的子类。一个分支是 Exception。该类 用于用户程序可能捕捉的异常情况
另一类分支由 Error 作为顶层,Error 定义了在通常环境下不希望被程序捕获的异常。Error 类型的异常用于 Java 运行时系统来显示与运行时系统本身有关的错误;所有异常类型都是内置类 Throwable 的子类。因此,Throwable 在异常类层次结构的顶层
Throwable 下面的是两个把异常分成两个不同分支的子类。一个分支是 Exception。该类 用于用户程序可能捕捉的异常情况
另一类分支由 Error 作为顶层,Error 定义了在通常环境下不希望被程序捕获的异常。Error 类型的异常用于 Java 运行时系统来显示与运行时系统本身有关的错误
关于 Error 类型的异常处理,因为它们通常是灾难性的致命错误,不是你的程序可以控制的;Throwable类;为防止和处理一个运行时错误,只需要把你所要监控的代码放进一个try块就可以了。紧跟着 try 块的,包括一个说明你希望捕获的错误类型的catch 子句
try—catch异常处理代码块的基本形式:
try{
//监视可能发生异常的代码块;
}
catch(异常类型异常对象名) //捕获并处理异常
{
//异常处理代码块;
}
;例子
class Test
{
public static void main(String args[])
{
int a, b;
try
{
a = 0;
b= 5 / a;
System.out.println(This will not be printed.);
} ;例子
catch (ArithmeticException e)
{
System.out.println(Division by zero.);
}
System
您可能关注的文档
最近下载
- 高级客房服务员知识试卷〔〕.doc VIP
- 第16课探索国家出路与挽救民族危亡的努力【中职专用】《中国历史》(高教版2023基础模块).pptx VIP
- 2025中国工商银行浙江省分行纪检岗和安防消防管理岗社会招聘笔试模拟试题及答案解析.docx VIP
- OFICE办公软件学习珍藏——Excel使用技巧大全.pdf VIP
- DB3713_T 307-2023 兼职矿山救护队建设规范.pdf VIP
- 初一21班主题班会《我爱我班》.ppt
- 2025中国工商银行浙江省分行纪检岗和安防消防管理岗社会招聘备考练习试题及答案解析.docx VIP
- 99S203 消防水泵接合器安装.docx VIP
- 乳糜尿护理常规.pptx
- 防雷检测应急预案.doc VIP
文档评论(0)