gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 13:09:35 28 4
gpt4 key购买 nike

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

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 编码约定?

最佳答案

这绝对是不符合 Java 习惯的;但您的代码无法工作的主要原因是 java 仅按值传递 - 没有 C++ 样式的引用,也没有 OUT 参数。

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

关于java - 通过引用传递 Error 对象而不是从方法抛出异常是一个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988017/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com