Java似乎在其术语中区分了“错误”,“断言”和“异常”。但是,没有定义的条件检查术语(我可以看到)和失败时的返回(到目前为止,我称之为“错误检查”)。
public int doSomething(int val) {
if(val < 0) return -1;
...
return 0;
}
在此示例中(尽管没有意义),如果val
为负,则该方法返回失败,作为“错误检查”的方法。但是,Java特别将错误定义为诸如RuntimeException(硬件故障等)之类的错误。那么我指的是什么?
答案 0 :(得分:1)
例外条件的例外情况;你不希望发生的事情(但可能)。 Josh Bloch在他的“Effective Java”一书中特别概述了这一点。
你会发现java中的许多类'方法返回true / false(布尔值)作为成功/失败的指示当失败是一种常见和预期的情况时。
说到这一点,它从未如此简单。标准java类中肯定有一些东西会抛出常见条件的异常等。总的来说,这个答案的第一行是我如何处理自己的代码。
答案 1 :(得分:0)
我只是得到你一点点。当你的情况失败时,你想要返回一些返回错误...
对于那在java中的两件事1.例外2.错误
因此,当您的条件成立时,您可以返回异常或错误。
或throw custom Exception
...
答案 2 :(得分:0)
我认为你可以称之为return code
,就像一般过程的exit status
一样,我视图中的返回代码也可以应用于方法。
答案 3 :(得分:0)
要回答这个问题,我会参考“重构”一书中描述的模式。 (http://refactoring.com/catalog/consolidateConditionalExpression.html)
当您的代码反映您的思考过程并且只读取您想要解决问题的方式时,我已经学会了最好的编程。
我会将您的代码改写为
public void doSomething(int val) {
if isValueInvalid(val) return ;
... // do something
// returns should be modelled only if the client of this
// program is expecting to use the results of this doSomething(..) for taking some action.
}