假设我有下面的代码,它基本上确定一些条件匹配,然后分配布尔值,然后运行一些代码.如果booleanValue为false,则抛出异常.如果booleanValue为false而不运行其余代码,我希望它立即抛出异常怎么办?如果我只是将第二个条件语句放入第一个条件语句中,则会有重复的代码.请告诉我一个聪明的方法(我已修改代码看起来像我的实际代码).
boolean booleanValue = false; Permission value; if (someCondition) { value = getPermission_1(); booleanValue = someMethod(value); useValue_1(value); } else { value = getPermission_2(); booleanValue = anotherMethod(value); useValue_2(value); } if (!booleanValue) { throw Exception(); }
解决方法
如何消除布尔变量?您可以像这样重写代码:
if (someCondition) { if (!someMethod()) { throw new Exception(); } some codes... } else { if (!anotherMethod()) { throw new Exception(); } some codes... }
这对我来说看起来更容易,但这样的事情是品味的问题……
额外优势:如果异常以堆栈跟踪结束,您就知道条件是什么,因为您有两个不同的throw语句.这可能会加快调试速度.
原文地址:https://www.jb51.cc/java/127550.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。