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. 16 个写代码的好习惯
  2. 电脑存储:A盘、B盘知识介绍,为何总是电脑磁盘从C盘开始?
  3. MySQL5.7.17的简单配置文件
  4. qc35 说明书_使用Bose QC35 2年的心得 | 迟而不迟的深度体验 | 文附佩戴效果照片...
  5. mysql的常用查询辅助函数汇总
  6. Linux启动分析——init进程与app启动(init进程源码分析)
  7. [20141216]sqlplus的set appinfo.txt
  8. shell笔记_重定向与文本处理命令
  9. 倾斜摄影当中模型精度和测绘当中的分辨率/比例尺是怎么回事?
  10. 总结谷歌身份验证器 Google Authenticator 的详细使用方法
  11. 休闲小趣一一3Dmax“简易教程”——2.1“案例过程”——制作电脑桌与书架
  12. 学徒浅析Android——Android7.0(N)对于自定义证书和非CA机构证书的适配校验
  13. 怎样按照STAR法则制作简历
  14. centos6.5卸载图形界面
  15. 【北亚数据恢复】infortrend服务器raid6硬盘离线后进行上线操作导致服务器崩溃的数据恢复
  16. 取模运算(包括负数)
  17. 成为数据科学家的第一个project
  18. 温故而知新!java面试思维逻辑题
  19. Work20230505
  20. 游戏服务器要什么硬盘,云服务器用什么硬盘

热门文章

  1. android 辅助功能原理,Android辅助功能原理与基本使用详解-AccessibilityService
  2. css文字溢出省略号显示
  3. 修改表中的字段注释和字段长度
  4. Windows中如何安装和使用binwalk
  5. iPhone6S发售,S6 edge+存在感爆棚,苹果与三星又一轮厮杀
  6. uniapp点击返回上一页按钮弹出提示框是否确认保存信息
  7. 【转】无线路由器信道怎么设置
  8. 计算机系统启动项设置密码,如何设置BIOS开机启动项将开机第一启动项设置为U盘或光驱...
  9. 百度路书实现轨迹回放(标准)
  10. react合成事件和DOM原生事件的区别