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