通过引用传递Error对象,而不是从方法中抛出异常,是一个好主意吗?

WKS

我正在为一家公司编写实用程序API,我考虑的是,不是将实用程序方法抛出异常,而是通过引用将自定义的空Error对象传递给方法,并在发生异常事件时填充该对象。

UML类图

ABCError

-code: long
-message: String
-throwable: Throwable

-ABCError()
-set(code,message,throwable) : void
-set(code,message) : void
-set(code):void
-set(message):void
-isSet() : boolean

用法:

ABCError error = new ABCError();
HttpResponse response = ABCHttpUtils.post(url,headers,parameters,error);
if(!error.isSet()){
//...
}

这是个好主意还是坏主意,因为它违反了Java编码约定?

塔索斯(Tassos Bassoukos)

绝对是非惯用的Java;但是您的代码无法正常工作的主要原因是Java仅按值传递-没有C ++样式的引用,没有OUT参数。

编辑:哦,等等,您本身在代码中不使用引用-忽略它。但是,我敦促您不要使用可选的error参数,因为您将强制API客户端检查所有调用的返回代码,而不是在catch / finally块中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

绑定PasswordBox密码不是一个好主意吗?

来自分类Dev

在单元测试中使用依赖注入对象不是一个好主意吗?

来自分类Dev

临时扩展Java中的现有对象-这是一个好主意吗?

来自分类Dev

在输出对象中包含其他信息是一个好主意吗?

来自分类Dev

通过依赖注入将数据上下文对象传递给控制器是一个好主意吗?

来自分类Dev

让 SQL 表条目引用同一个表中的其他 ID 是个好主意吗?

来自分类Dev

在Dart Web服务器中使用同步文件系统方法不是一个好主意吗?

来自分类Dev

在Kubernetes中通过Nginx与Gunicorn一起运行Django是一个好主意吗?

来自分类Dev

为什么这种异常的Objective-C设计模式不是一个好主意?

来自分类Dev

在Rails ActiveRecord模型中,使用after_initialize回调不是一个好主意吗?

来自分类Dev

根据DDD在域对象中具有save(),get()和delete()操作是一个好主意吗

来自分类Dev

为文本标签创建CSS类不是一个好主意吗?

来自分类Dev

Javascript-在闭包内使用函数构造函数不是一个好主意吗?

来自分类Dev

git rebase-压缩初始提交通常不是一个好主意吗?

来自分类Dev

在HttpContext.Current上发送覆盖响应不是一个好主意吗?

来自分类Dev

使用hgignore忽略* .orig文件不是一个好主意吗?

来自分类Dev

继续创建新的数据库实体不是一个好主意吗?

来自分类Dev

使用CSS和JS的双语网站不是一个好主意吗?

来自分类Dev

如果不是的话,修改yii.activeForm.js是一个好主意吗?

来自分类Dev

使用$ .get操作数据不是一个好主意吗?

来自分类Dev

对不同的控件使用与事件相同的功能不是一个好主意吗?

来自分类Dev

在HttpContext.Current上发送覆盖响应不是一个好主意吗?

来自分类Dev

将实例传递给__init__。这是一个好主意吗?

来自分类Dev

通过Rx从MailboxProcessor返回结果是一个好主意吗?

来自分类Dev

总而言之,strlen不是一个好主意

来自分类Dev

返回矢量对象的引用,好主意吗?

来自分类Dev

返回矢量对象的引用,好主意吗?

来自分类Dev

什么时候在C ++中返回const引用是一个好主意?

来自分类Dev

“包装”异常是个好主意吗?

Related 相关文章

  1. 1

    绑定PasswordBox密码不是一个好主意吗?

  2. 2

    在单元测试中使用依赖注入对象不是一个好主意吗?

  3. 3

    临时扩展Java中的现有对象-这是一个好主意吗?

  4. 4

    在输出对象中包含其他信息是一个好主意吗?

  5. 5

    通过依赖注入将数据上下文对象传递给控制器是一个好主意吗?

  6. 6

    让 SQL 表条目引用同一个表中的其他 ID 是个好主意吗?

  7. 7

    在Dart Web服务器中使用同步文件系统方法不是一个好主意吗?

  8. 8

    在Kubernetes中通过Nginx与Gunicorn一起运行Django是一个好主意吗?

  9. 9

    为什么这种异常的Objective-C设计模式不是一个好主意?

  10. 10

    在Rails ActiveRecord模型中,使用after_initialize回调不是一个好主意吗?

  11. 11

    根据DDD在域对象中具有save(),get()和delete()操作是一个好主意吗

  12. 12

    为文本标签创建CSS类不是一个好主意吗?

  13. 13

    Javascript-在闭包内使用函数构造函数不是一个好主意吗?

  14. 14

    git rebase-压缩初始提交通常不是一个好主意吗?

  15. 15

    在HttpContext.Current上发送覆盖响应不是一个好主意吗?

  16. 16

    使用hgignore忽略* .orig文件不是一个好主意吗?

  17. 17

    继续创建新的数据库实体不是一个好主意吗?

  18. 18

    使用CSS和JS的双语网站不是一个好主意吗?

  19. 19

    如果不是的话,修改yii.activeForm.js是一个好主意吗?

  20. 20

    使用$ .get操作数据不是一个好主意吗?

  21. 21

    对不同的控件使用与事件相同的功能不是一个好主意吗?

  22. 22

    在HttpContext.Current上发送覆盖响应不是一个好主意吗?

  23. 23

    将实例传递给__init__。这是一个好主意吗?

  24. 24

    通过Rx从MailboxProcessor返回结果是一个好主意吗?

  25. 25

    总而言之,strlen不是一个好主意

  26. 26

    返回矢量对象的引用,好主意吗?

  27. 27

    返回矢量对象的引用,好主意吗?

  28. 28

    什么时候在C ++中返回const引用是一个好主意?

  29. 29

    “包装”异常是个好主意吗?

热门标签

归档