异常知识点.docx
《异常知识点.docx》由会员分享,可在线阅读,更多相关《异常知识点.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学问点:1、 什么是异样。异样是程序正常执行过程中出现的不正常的状况。例如: 人在成长过程中,是个正常的执行过程,但成长过程中会经常生病,这就是异样。为了防止这种不正常的状况,我们会实行一系列措施,比方:从小熬炼身体,吃簇新干净的食物,养分合理的搭配,以增加我们的体质。提高抗病实力。程序我们为了提高它运行时的强健性,我们也得接受一些措施。那么怎么提高程序的强健性呢?程序中我通过异样的捕获来增加程序的强健性。2、 异样捕获的依次是怎样的呢?当一个异样发生或抛出。那么正常的程序执行序列将被终止,程序将对异样进展处理,我们称之为抛出异样被捕获。中通过运用语句把可能抛出异样的语句包起来。例如:前面讲到
2、资源文件类类在进展文件加载时,运用以下语句捕获异样。 ();( (“);( e)(e);3、 异样的类型是怎样的呢?全部异样类的超类是。在下有两个子类,一个是,另一个是。是错误,程序员无法限制,是异样,程序员可以通过异样捕获加以限制。例如:电脑运行中中毒了,我们可以通过杀毒软件来处理,处理完了以后可以接着运用,这叫异样,我们可以限制。但电脑出现了蓝屏或死机的时候,我们就不能进展任何操作了。这就是错误,我们无法限制。4、 程序中异样是怎么发生的呢? = (, “请输入年龄); = ();以上代码要求用户输入年龄,年龄是个数字。但通过得到的是个字符串。所以我们须要(),将字符串转成数字。这个时候,
3、假如用户输入的不是一个数字型的字符串,而是一个非数字的字符串如字母, 符号,在进展()转化是就会发生一个异样。假如我们不对它作任何处理,程序就有可能因此终止掉。5、 怎样捕获一个异样呢。a、 把正常运行的代码放在块里。b、 假如程序中出现了异样就把异样抛出在中,假如中能捕获抛出的异样。那么就会进展处理。处理的代码写在块中。程序块里面的语句是按依次执行的语句当程序块里面的语句抛出一个异样的时候,程序的限制转向了相匹配的程序块,程序块里面的语句被执行。当异样发生后,程序执行将忽视程序块中剩余的语句,接着执行程序块后面的语句。假如在程序块中没有抛出异样,那么块将被忽视。程序将接着执行下面的语句例如:
4、(“开场)1 4/02(“执行)3( e)(“发生异样)4(“异样处理外部);这是发生异样的状况,在块里依次执行,先打出“开场,没有异样接着执行,当执行到第2行时,因为0不能做除数,所以会发生一个算术异样。这个时候就会跳过块里剩下的语句转去执行块中的内容。所以第3行就不能执行。跳到块中执行第4句,打出“发生异样。执行完以后接着往下依次执行。打出第5行“异样处理外部。(“开场)1 4/22(“执行)3( e)(“发生异样)4(“异样处理外部);这是正常状况,在块里依次执行,先打出“开场,没有异样接着执行,当执行到第2行时,得到x的值为2,不会有异样。这个时候接着执行到第3行,打出“执行。因为在块
5、中没有任何异样,执行完以后接着往下依次执行。打出第5行“异样处理外部。在类中有两个方法,可以用于获得抛出异样的信息6、 抛出异样在一个语句中,当有多个块的时候,它们被依次检查在检查过程中,留意异样的匹配关系是很重要的当一个异样被抛出,及它相匹配的块被执行,其它的块,就被忽视掉不再执行假如没有块匹配抛出的异样,那么系统会在堆栈中搜寻,找到一个匹配的捕获方法。假如照旧没有找到,那么系统将处理抛出异样什么叫异样和块相匹配:1, 抛出的异样和捕获的异样是同一个类2, 抛出的异样是捕获异样的子类3, 多个块中 假如捕获的异样之间有继承关系 那么不要把父类放在子类之前这种做法也不被允许4, 尽量不要偷懒
6、运用详细异样类而不要运用例如: 4 ;(a6)1 3/02( e)捕获第2行异样(算术错误);( e) 捕获第1行异样(数组下标越界);不同的异样由不同的块进展捕获。发生异样时由相应的块进展处理。块中怎么捕获异样? 3/0;( e)抛出异样和捕获异样是同一个类(算术错误); 3/0;( e)抛出异样是捕获异样的子类(算术错误); 4 ;(a6);(. e)(发生异样);( e)(数组下标越界);这种方式不被允许,因为块前一个异样是后一个异样 的父类。所以有异样前一个异样 块都捕获了。后一个块恒久不会被执行。编译会出错。 4 ;(a6);( e)(数组下标越界);( e)(发生异样);这种方式允
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 异常 知识点
限制150内