微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 我应该捕获EmptyResultDataAccessException吗?

我有一个sql语句,我希望将返回一行,因为我传递的是主键.所以我的选择是

>将tryForObject包装在try / catch中,捕获EmptyResultDataAccessException,并返回null
>将调用更改为queryForList,并打开List并(希望)返回第1个元素,或者为null.

我在某处读取了一个EmptyResultDataAccessException,因为它扩展了运行时异常,这是一个不好的做法.

但我看不出有什么不妥.

我有兴趣听取意见

最佳答案
大多数时候我遇到了这个(mvc / ws)我抛出异常但在异常解析器中处理异常.返回null的问题在于应用程序依赖于它并且在未来的路上,您将不得不在以后进行空检查而不是在预期存在时进行空检查.这可能会导致问题,因为并非所有开发人员都可能在需要时进行空检查,然后您可能会遇到npe.根据您编写的应用程序类型,有几种方法可以使用异常解析程序捕获和处理异常.通过使用异常解析程序,您可以以不同方式处理每个异常并向用户提供反馈.

这是使用spring mvc完成它的一种方法.这样,如果具有主键的对象不存在,您可以向用户发送一般消息. http://www.mkyong.com/spring-mvc/spring-mvc-exception-handling-example/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐