返回false 还是抛出异常?
目前看来是抛出异常的方式在多条件的情况更好。不知道大家怎么看
public class A {public boolean get() {if(!method1()){return false;} if(!method2()){ return false;} if(!method3()){ return false;}return true;}public boolean get2() {try {method1();method2();method3();} catch (Exception e) { return false;}return true;}public boolean method1(){return true;}public boolean method2(){return true;}public boolean method3(){return true;}}1 楼 devilyard 21 小时前 赞同,false有时候会被遗忘,但异常就一定会被捕获 2 楼 xiaokek 20 小时前 本人认为捕获异常更灵活,它不要求方法的返回值必须为boolean,而且异常也可以多种多样,不像boolean只有真和假。 3 楼 jinnianshilongnian 19 小时前 我认为这个要根据实际情况
boolean类型只有两个状态,true/fasle,而且返回值表示结果;
比如用户登录的例子:不仅仅是成功/失败;可能还有锁定、密码尝试太多等等;这个时候应该使用异常来表示非正常流程;
4 楼 huangyunbin 17 小时前 jinnianshilongnian 写道我认为这个要根据实际情况
boolean类型只有两个状态,true/fasle,而且返回值表示结果;
比如用户登录的例子:不仅仅是成功/失败;可能还有锁定、密码尝试太多等等;这个时候应该使用异常来表示非正常流程;
你的意思是正常流程用boolean 非正常流程用抛异常。如果都统一用一种我觉得是不是对于代码逻辑更简单?
5 楼 jinnianshilongnian 17 小时前 huangyunbin 写道jinnianshilongnian 写道我认为这个要根据实际情况
boolean类型只有两个状态,true/fasle,而且返回值表示结果;
比如用户登录的例子:不仅仅是成功/失败;可能还有锁定、密码尝试太多等等;这个时候应该使用异常来表示非正常流程;
你的意思是正常流程用boolean 非正常流程用抛异常。如果都统一用一种我觉得是不是对于代码逻辑更简单?
boolean代表状态;如文件api:isOpen()、exists()、canRead、canWrite等,如果在测试阶段出现了非预期的问题,应该抛出异常来解决。
比如User login(username, password) 登录成功应该返回登录的User,如果在登录过程中出问题了,非预期的,此时应该抛出异常来解决。