首页

关于Java如何定义使用自定义异常及代码示例

标签:异常,exception,业务异常,java,异常类,Exception,自定义异常,Throwable     发布时间:2015-07-02   

一、前言

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

二、语法格式

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

public  class  自定义异常  extends   Exception{}

三、示例说明

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

public class UserNotFoundException extends Exception{ @b@@b@    public UserNotFoundException () {@b@        super();@b@    }@b@    @b@    public UserNotFoundException (String message) {@b@        super(message);@b@    }@b@@b@    public UserNotFoundException (Throwable cause) {@b@        super(cause);@b@    }@b@@b@    public UserNotFoundException (String message, Throwable cause) {@b@        super(message, cause);@b@    }@b@}

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

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

或者

public  void  login2() throws  UserNotFoundException{@b@     try{@b@         //符合用户不存在异常@b@     }catch(Exception e){@b@         throw  new  UserNotFoundException("用户不存在!");  @b@     }@b@}