java开发中,DAO层的方法有许多判断,异常从DAO层集中抛出,比如说UserDao在进行添加用户(add(sql,Object o))时会判断,当sql为空时抛出了自定义异常MyException("sql为空"),这时如果UserService addUser()调用了这个add方法,那么UserService必须要捕获这个自定义异常然后抛给控制层,然后控制层再进行处理吗,这是否有些太繁琐了,感觉平时大家是不会这么处理的,但是不处理Dao层抛出的那个异常程序又会中断,影响使用效果,大家都是怎么做的啊??
3条回答 默认 最新
- threenewbee 2016-07-01 12:40关注
根据你的业务需要来处理。
比如注册用户这个逻辑,在jdbc层丢出一个sqlexception,重复主键的异常,你的dal应该丢出“记录重复”这样的异常,而到了你的业务逻辑层,应该丢出“重复的用户名”,再到你的界面,就不丢出异常,而是显示一个错误提示给用户,当前用户名已经注册。所谓异常,就是指意外情况,也就是你代码中没有考虑的状况。比如对于jdbc来说,sqlexception是异常,但是对于你的dao来说,你可以预料到这个异常的发生,所以它本身不是异常,不上抛,而记录重复应该怎么处理,才是无法意料的事情,所以才丢出重复记录的异常。
解决 1无用
悬赏问题
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
- ¥50 成都蓉城足球俱乐部小程序抢票
- ¥15 yolov7训练自己的数据集
- ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
- ¥15 电力市场出清matlab yalmip kkt 双层优化问题
- ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)