首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

设计接口时应该怎么设计业务错误

2013-11-19 
设计接口时应该如何设计业务异常?本文为原创,转载请注明作者:cha1R(tanjiayqq)Java里异常分两种,一种是检

设计接口时应该如何设计业务异常?
本文为原创,转载请注明

作者: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);


定义这个方法的异常还算比较简单,从参数入手

userId:用户不存在异常

weiboId:微博不存在异常

content:内容包含敏感词汇异常,内容超出字数限制异常。 或直接用一个 内容不合法异常

这些都是可以抛出的异常。

但是有时候一条微博可能被设置为 “不可评论”,那么我们是不是要再跑出一个“不可评论异常”?这个完全不必抛出,因为我们抛出业务异常是用来反馈给用户看,从而让用户做出相应处理,但是这种不可改变的情况完全没必要交给用户决定如何处理,只需要在方法内部抛出RuntimeException,UI层统一捕获,提示一下即可。

最后介绍一个学习网站,比较适合初学者,视频略多:http://gz.itcast.cn/

热点排行