自定义异常类!

一、前言

jdk中本身提供丰富的异常处理类(参见JDK提供的异常类),但项目中还会自定义很多异常,主要因为jdk提供的异常只正对代码本身需求做的定义,对于实际需求要根据业务来自定义异常(年龄大于200、用户不存在)- 用户不存在异常UserNotFoundException、用户没有授权异常UserNotAuthorityException等。在分层软件结构中,通常会在表现层对系统其他层次的异常进行捕获处理,如需表现层处理不同的异常,就需要自定义异常,然后针对自定义异常特殊处理

二、语法格式

在自定义异常时,通常继承Exception或者子类实现,也可以直接继承Throwable,格式如下:

1
public   class   自定义异常   extends    Exception{}

三、示例说明

先自定义异常类,如用户不存在异常UserNotFoundException

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public  class  UserNotFoundException  extends  Exception{ 
 
     public  UserNotFoundException () {
         super ();
     }
     
     public  UserNotFoundException (String message) {
         super (message);
     }
 
     public  UserNotFoundException (Throwable cause) {
         super (cause);
     }
 
     public  UserNotFoundException (String message, Throwable cause) {
         super (message, cause);
     }
}

异常使用场景类,如用户登录时进行定义方法如下

1
2
3
4
public   void   login()  throws   UserNotFoundException{
     if (条件不满足){
         throw   new   UserNotFoundException( "用户不存在!" );    }
}

或者

1
2
3
4
5
6
7
public   void   login2()  throws   UserNotFoundException{
      try {
          //符合用户不存在异常
      } catch (Exception e){
          throw   new   UserNotFoundException( "用户不存在!" );  
      }

你可能感兴趣的:(exception)