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,optimization

来源: https://codeday.me/bug/20191008/1873510.html

java 抛出异常 返回值_java – 返回true或false或抛出异常相关推荐

  1. java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回

    java方法带参数返回值 在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , ...

  2. oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...

    java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...

  3. java递归函数返回值_Java基础——方法返回值递归

    原标题:Java基础--方法返回值&递归 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 例题:写一 ...

  4. 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )

    文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...

  5. python函数的返回值是返回引用吗_python-函数(上):函数返回值、函数调用、前向引用...

    编程方法: 1.面向对象:类--class 2.面向过程:过程--def 3.函数式编程:函数--def #python中函数#函数的定义#打印一个佛祖镇楼 -> 一个功能点的解释 defpri ...

  6. 返回值与返回引用的问题

    此处小论一下返回值与返回引用的问题. 先看程序: #include <iostream> using namespace std;class X {int i; public:X(int ...

  7. python获取返回值_python 调用 shell ,获取返回值和返回信息

    网络上有各种方案解决python调用shell的解决方案,但是没有一个完美的,以下是本人整理的一个方案,比较完美地解决了同时解决获取返回值和返回信息. def run_linux_cmd_quiet( ...

  8. IDEA 方法返回值和返回类型自动补全快捷键设置

    IDEA 方法返回值和返回类型自动补全快捷键设置 今天遇到一个很奇怪的问题,我新装的IDEA,默认的返回类型补全快捷键应该是 Ctrl + Alt +V 但是怎么也不起作用了,所以想去设置一下,然后找 ...

  9. java中怎么定义true或false_为什么Java中的布尔值只接受true或false? 为什么也不要1或0?...

    有什么理由为什么Java布尔值仅采用true或false为什么不采用1或0? 这不是一个复杂的问题,但是我也没有理由反对. 您忘记了FILE_NOT_FOUND 因为它是强类型的 在Java中,只能使 ...

最新文章

  1. c++11 之模板定义别名(using)
  2. mysql多语句查询结果_MySQL查询从多个选择语句获取结果?
  3. 清空sqlserver当前日志信息!
  4. JCO3远程调用SAP接口随笔一(配置连接池)
  5. [LeetCode] Length of Last Word - 最后一个单词的长度
  6. 1-18Linux内核空间和用户空间
  7. 将Github中Fork的代码,克隆到本地
  8. android应用开发(27)---Fragment
  9. 最具价值中国品牌百强榜单发布 小米首次入围排名第11位
  10. ER图设计数据库 练习题
  11. gmm中隐变量是什么的_隐变量是什么?
  12. silktest 破解 转帖未验证
  13. 代码时间换空间以及空间换时间
  14. 显著性检测论文梳理(Saliency Detection)
  15. python练习题(一):输入某年某月某日,判断这一天是这一年的第几天
  16. flv网页播放器开源代码
  17. Android计算器LinearLayout实现布局
  18. ios和android适配问题,小程序的iOS和Android兼容问题
  19. 香港中文大学-人脸识别进展-2014-06
  20. 罗彻斯特大学计算机科学系专业排名,罗切斯特大学优势专业及优势专业排名(USNEWS美国大学排名)...

热门文章

  1. linux卸载python3_linux卸载python3
  2. 使用JavaScript实现鼠标移进按钮显示移出隐藏功能
  3. python嵌套列表怎么遍历_Python中遍历列表,循环嵌套
  4. 怎样才能画好人物衣服的皱褶?
  5. linux锁屏时间设置
  6. 纯javascript实现增删改查
  7. layui分成两列相同的表格_layui表格反转的一个简单实现方式
  8. Redis锁 - RedLock
  9. win11右下角评估副本水印去除
  10. 预产期计算器在线计算生男生女计算机,预产期计算器公式