黑马程序员技术交流社区

标题: java异常,我生命中不能忍受的痛, [打印本页]

作者: 你好,师姐    时间: 2016-12-5 00:23
标题: java异常,我生命中不能忍受的痛,

今天讲了异常,脑子其实挺乱的,不知道大家学习的怎么样,今天见到一位大神的总结.感觉思路一下子清晰了,好东西要分享的,所以献给各位未来的IT精英们.别客气.{:8_518:}
1、什么是异常处理

{:8_527:}
异常:程序在运行过程中的一些特殊情况,例如:内存不够用,文件找不到,对象是Null,数组下标越界。当产生这些特殊情况的时候,可能会造成程序不能正常运行。异常处理:让程序在发生异常的时候能够正常执行。 2、异常分类

检查性异常,必须处理,如果不处理,编译不能通过。非检查性异常,可以不处理,但是一旦发生,程序就不能继续运行。 3、对于非检查性异常

虽然编译的时候不会报错,能够运行。但是运行的时候,如果发生错误,后果很严重。所以还是要处理。可以通过增加代码来解决。例子:对于NullPointerException,在调用方法之前可以检查这个对象是否为nullif(date!=null){   date.getTime();}例子:a/bb0产生异常),代码中可以检查b是否为0if(b!=0)   a/b;else   // 抛出异常! 也可以采用try-catch进行处理。 4try...catch对异常处理准备工作:在进行异常处理之前,必须清楚可能会发生哪些异常,异常与要调用的方法有关,通常在方法的定义中通过throws声明可能发生的异常。把可能产生异常的代码放在try语句中;针对每种可能出现的异常,编写一个catchcatch中写出异常类型;catch对应的代码中编写对异常进行处理的代码,当异常产生并与当前异常类型匹配,将执行catch中的代码。基本结构:try{   // 可能产生异常的代码}catch(异常类型 异常对象){   // 异常产生时候的处理代码} 注意:每种类型的异常都必须有对应的catch,所有的异常都应该处理。可以使用某个父类异常匹配多个子类异常。例如:catch(Exceptione){}如果异常类型之间有继承关系,子类一定要在前面。如果希望某个变量在trycatch中都可以使用,则应该把变量的定义放在try语句之前。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2