您的位置:首页 > 编程语言 > Java开发

java异常

2016-08-25 18:48 375 查看
一、所有异常的父类是Throwable,主要有两个子类:

1.Error:代表系统级别的错误,在程序中一般不予处理;

2.Exception:应用级别的错误,处理方案包括抛出和捕获两种。

3.检查异常和非检查异常

   1·检查异常(CheckedException):除了Error和RuntimeException及其子类之外,如:ClassNotFoundException,IOException,开发时必须处理;

   2·非检查异常(UnCheckedException):包括Error与RuntimeException及其子类,如OutOfMemoryError,IndexOutOfBoundsException,NullPointerException。开发时可                                                                                 以不处理,但为了健壮性建议处理。

二、异常处理

1.继续抛出

   1·方法内部抛出(throw new 异常对象)

           例如:throw new NullPointerException();

   2·方法声明抛出(throws 异常类型)

           例如:public void doSth() throws Exception{}
说明:当方法内部抛出了一个检查异常时,方法的声明位置必须也要抛出此检查异常或者此检查异常的父类。

 2.执行捕获

      try{可能出现异常的代码}

      catch(异常类型 变量){异常的处理}

      finally{异常处理完后最终执行的处理,就算catch块中有return语句,finally块也会执行}

说明:一个try可以对应多个catch代码块,假如try代码块内容不需要处理,可以没有catch块

三、自定义异常

   自定义异常类时,通常继承Exception或其子类,也可继承Throwable。
   格式:public class 类名称 extends Exception{}

   例如:public class  UserNotFoundException extends Exception{

                public  UserNotFoundException(){

                         super();

                }

                public  UserNotFoundException(String msg){

                         super(msg);

                }

           }

           public void  f1() throws UserNotFoundException{

                  if(条件不满足){

                      throw new UserNotFoundException("用户不存在");

                  }

           }

           public void  f1() throws UserNotFoundException{

                  try{

                     //业务代码

                  }

                  catch(Exception e){

                      throw new UserNotFoundException("用户不存在");

                  }
           }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 异常 exception error