java 抛出异常 返回值_java – 返回true或false或抛出异常
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或抛出异常相关推荐
- java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回
java方法带参数返回值 在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , ...
- oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...
java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...
- java递归函数返回值_Java基础——方法返回值递归
原标题:Java基础--方法返回值&递归 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 例题:写一 ...
- 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )
文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...
- python函数的返回值是返回引用吗_python-函数(上):函数返回值、函数调用、前向引用...
编程方法: 1.面向对象:类--class 2.面向过程:过程--def 3.函数式编程:函数--def #python中函数#函数的定义#打印一个佛祖镇楼 -> 一个功能点的解释 defpri ...
- 返回值与返回引用的问题
此处小论一下返回值与返回引用的问题. 先看程序: #include <iostream> using namespace std;class X {int i; public:X(int ...
- python获取返回值_python 调用 shell ,获取返回值和返回信息
网络上有各种方案解决python调用shell的解决方案,但是没有一个完美的,以下是本人整理的一个方案,比较完美地解决了同时解决获取返回值和返回信息. def run_linux_cmd_quiet( ...
- IDEA 方法返回值和返回类型自动补全快捷键设置
IDEA 方法返回值和返回类型自动补全快捷键设置 今天遇到一个很奇怪的问题,我新装的IDEA,默认的返回类型补全快捷键应该是 Ctrl + Alt +V 但是怎么也不起作用了,所以想去设置一下,然后找 ...
- java中怎么定义true或false_为什么Java中的布尔值只接受true或false? 为什么也不要1或0?...
有什么理由为什么Java布尔值仅采用true或false为什么不采用1或0? 这不是一个复杂的问题,但是我也没有理由反对. 您忘记了FILE_NOT_FOUND 因为它是强类型的 在Java中,只能使 ...
最新文章
- 16 个写代码的好习惯
- 电脑存储:A盘、B盘知识介绍,为何总是电脑磁盘从C盘开始?
- MySQL5.7.17的简单配置文件
- qc35 说明书_使用Bose QC35 2年的心得 | 迟而不迟的深度体验 | 文附佩戴效果照片...
- mysql的常用查询辅助函数汇总
- Linux启动分析——init进程与app启动(init进程源码分析)
- [20141216]sqlplus的set appinfo.txt
- shell笔记_重定向与文本处理命令
- 倾斜摄影当中模型精度和测绘当中的分辨率/比例尺是怎么回事?
- 总结谷歌身份验证器 Google Authenticator 的详细使用方法
- 休闲小趣一一3Dmax“简易教程”——2.1“案例过程”——制作电脑桌与书架
- 学徒浅析Android——Android7.0(N)对于自定义证书和非CA机构证书的适配校验
- 怎样按照STAR法则制作简历
- centos6.5卸载图形界面
- 【北亚数据恢复】infortrend服务器raid6硬盘离线后进行上线操作导致服务器崩溃的数据恢复
- 取模运算(包括负数)
- 成为数据科学家的第一个project
- 温故而知新!java面试思维逻辑题
- Work20230505
- 游戏服务器要什么硬盘,云服务器用什么硬盘
热门文章
- android 辅助功能原理,Android辅助功能原理与基本使用详解-AccessibilityService
- css文字溢出省略号显示
- 修改表中的字段注释和字段长度
- Windows中如何安装和使用binwalk
- iPhone6S发售,S6 edge+存在感爆棚,苹果与三星又一轮厮杀
- uniapp点击返回上一页按钮弹出提示框是否确认保存信息
- 【转】无线路由器信道怎么设置
- 计算机系统启动项设置密码,如何设置BIOS开机启动项将开机第一启动项设置为U盘或光驱...
- 百度路书实现轨迹回放(标准)
- react合成事件和DOM原生事件的区别