首页 / JAVA / java – 尝试使用空捕获
java – 尝试使用空捕获
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 尝试使用空捕获,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1500字,纯文字阅读大概需要3分钟。
内容图文
![java – 尝试使用空捕获](/upload/InfoBanner/zyjiaocheng/786/796dbb36f67d49179da8aa95a1e11551.jpg)
参见英文答案 > Try-catch: is this acceptable practice? 7个
> Why are empty catch blocks a bad idea? [closed] 20个
说我有一个try语句和空捕获是不好的做法?例如,假设我有2个尝试单独的trys,其中一个可能失败但另一个成功或两者都成功或任何可能的组合.处理这样的代码是不好的做法?
例
if( mode == Modes.EDIT ){
try {user = userBo.findById(id).get(0); }
catch(Exception e) { }
try{
result = this.initializeEntityById(accountDao, id);
if( !result.equals(SUCCESS) ){
return result;
}
}
catch(Exception e){ }
}
在这个例子中,关注的变量是’id’,我不确定进来的值是否有效,而在前端它并不重要,因为代码会处理所有内容并提供正确的显示.
所以问题确实是:
>对于空捕获来说,这是一个不好的做法吗?
>有没有可能发生的潜在不稳定性,我没有意识到?
>有没有更好的方法来实现我想要达到的目标?
解决方法:
>是的,这总是不好的做法,因为你不知道哪里出了什么问题.您至少应该记录异常.
>不稳定的是,当出现问题时,您不知道代码有什么问题.
>永远不希望对控制流使用异常.表现非常糟糕,例外情况只能用于特殊情况.这是你可以做的:
>使异常成为方法签名的一部分,让更高级别处理它.
>捕获异常,但将其包装在语义上适当的异常中并重新抛出它,以便更高级别可以处理它.
>处理它.这也可以通过多种方式完成:
>不要让异常发生:不是捕获异常,而是对数据执行检查以查看它是否会导致异常.例如,在你的情况下,我认为你应该有一个像userBo.existsWithId(id)这样的方法,它将返回一个表示用户是否存在的布尔值.或者,如果找不到用户,则findById返回null,并检查user == null.我认为这是你最好的选择.
>以一种理智的方式从异常中恢复(取决于您的业务逻辑).
内容总结
以上是互联网集市为您收集整理的java – 尝试使用空捕获全部内容,希望文章能够帮你解决java – 尝试使用空捕获所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。