设计接口时应该如何设计业务异常?
本文为原创,转载请注明
作者:cha1R(tanjiayqq)
Java里异常分两种,一种是检查(checked)的,一种是非检查(unchecked)的。
非检查以RuntimeException作为典型代表,它有一个特点就是我们可以不用捕捉它,如果没有捕捉它,它会一直往上抛直到main()方法处理,从而退出整个程序。注意如果是多线程的话,它并不会在main()方法终止程序,它会一直往上抛直到run()方法,而run()方法没有捕捉它的话会终止线程。
作为业务异常,是要反馈给用户的,所以我们不希望发生任何终止线程或者终止程序的代码。所以定义业务异常,我们一般使用检查的(checked)异常,定义一个异常非常简单,只需要写一个简单的类继承Exception即可。
/** * 评论 * @param userId 被评论的用户的ID * @param weiboId 被评论的微博的ID * @param content 评论内容 * @return */ boolean comment(String userId,String weiboId,String content);