今天讲了异常,脑子其实挺乱的,不知道大家学习的怎么样,今天见到一位大神的总结.感觉思路一下子清晰了,好东西要分享的,所以献给各位未来的IT精英们.别客气.{:8_518:} 1、什么是异常处理
{:8_527:}异常:程序在运行过程中的一些特殊情况,例如:内存不够用,文件找不到,对象是Null,数组下标越界。当产生这些特殊情况的时候,可能会造成程序不能正常运行。异常处理:让程序在发生异常的时候能够正常执行。 2、异常分类
检查性异常,必须处理,如果不处理,编译不能通过。非检查性异常,可以不处理,但是一旦发生,程序就不能继续运行。 3、对于非检查性异常
虽然编译的时候不会报错,能够运行。但是运行的时候,如果发生错误,后果很严重。所以还是要处理。可以通过增加代码来解决。例子:对于NullPointerException,在调用方法之前可以检查这个对象是否为nullif(date!=null){ date.getTime();}例子:a/b(b为0产生异常),代码中可以检查b是否为0if(b!=0) a/b;else // 抛出异常! 也可以采用try-catch进行处理。 4、try...catch对异常处理准备工作:在进行异常处理之前,必须清楚可能会发生哪些异常,异常与要调用的方法有关,通常在方法的定义中通过throws声明可能发生的异常。把可能产生异常的代码放在try语句中;针对每种可能出现的异常,编写一个catch,catch中写出异常类型;在catch对应的代码中编写对异常进行处理的代码,当异常产生并与当前异常类型匹配,将执行catch中的代码。基本结构:try{ // 可能产生异常的代码}catch(异常类型 异常对象){ // 异常产生时候的处理代码} 注意:每种类型的异常都必须有对应的catch,所有的异常都应该处理。可以使用某个父类异常匹配多个子类异常。例如:catch(Exceptione){}如果异常类型之间有继承关系,子类一定要在前面。如果希望某个变量在try和catch中都可以使用,则应该把变量的定义放在try语句之前。
|