小小雷利

Satan's book

10_java异常

 

异常体系
       Throwable
               |--Error        严重通过描述,一般不编写针对性代码进行处理。
               |--Exception  非严重描述,可以使用针对性的代码进行处理。
                    |--RuntimeException  特殊异常
                              |--如果在函数内抛出,函数上可以不用声明,编译一样通过。
         
                     |--如果在函数上声明,调用者可以不用处理,编译一样通过。

throw  (抛出); 使用在函数内;定义异常对象。
throws(抛出); 使用在函数上;定义异常类,可以定义多个,用逗号隔开。

异常分两种
       编译时被检测  
       
运行时异常     (编译时不被检测 RuntimeException以及子类)

异常处理语句
try
{
     需要被检测的代码;
}
catch(异常类 变量)
{
     处理异常的代码;
}
finally
{
     一定会执行的语句;
}

多异常处理
1,声明异常时,建议声明更具体的异常,这样处理的更具体。
2,声明几个异常,就对应几个catch块。
3,如果多个catch块出现继承关系,父类异常catch块要放在最下面。




自定义异常
     继承ExceptionRuntimeException
     1.让该自定义异常具备可抛性
     2.让该类具备操作异常的共性方法

继承Exception原因:异常体系有一个特点,因为异常类和异常对象都要被抛出。
                           它们都具有可抛性,可抛性是Throwable类这个体系中独有的特点。
                   
        只有体系中的类和对象,才可以被throws和throw操作。    


自定义异常信息
父类中已经定义获取异常信息的功能。
子类只要在构造时,将异常信息传给父类,通过super语句。
就可以直接通过getMessage方法获取自定义的异常信息。






1.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。
2.父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集。
3.父类或者接口的方法中没有抛出异常,那么子类在覆盖方法时,也不可以抛出异常
   子类方法发生了异常,必须在内部进行处理(try处理),绝对不能抛出。








posted on 2012-03-24 01:19  小小雷利  阅读(189)  评论(0编辑  收藏  举报

导航