gpt4 book ai didi

java - 返回 true 或 false 或抛出异常

转载 作者:行者123 更新时间:2023-12-02 15:03:26 28 4
gpt4 key购买 nike

java version "1.7.0_75"

你好,

只是想知道比较以下两个函数的首选最佳实践是什么。

第一个抛出 NullPointerException,应在调用函数中捕获该异常。如果出现空指针异常,第二个则返回 false。

抛出异常:

public void disconnect() throws NullPointerException {
if(mClientConnection == null) {
throw new NullPointerException("mClientConnection has an invalid reference");
}

if(mClientConnection.isConnected()) {
mClientConnection.disconnect();
}

mClientConnection = null;
}

只需返回 true 或 false:

public boolean disconnect() {
if(mClientConnection == null) {
log.log(Level.SEVERE, "Cannot disconnect as mClientConnection is null");
return false;
}

if(mClientConnection.isConnected()) {
mClientConnection.disconnect();
}

mClientConnection = null;

return true;
}

通常在过去我总是通过返回 true 或 false 来选择第二个。但现在我只是在寻找替代解决方案。

非常感谢您的建议,

最佳答案

如果您编写了其他开发人员将使用的 API - 最好采用第二种方法,从“客户”方面处理起来更容易(也更干净):

while (!disconnected()) {
// do something else
// sleep and try again
// etc
}

一般来说 - 不要抛出您知道如何优雅处理的异常!

关于java - 返回 true 或 false 或抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29763061/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com