gpt4 book ai didi

java - 这种情况的异常处理模式?

转载 作者:行者123 更新时间:2023-12-03 23:05:09 27 4
gpt4 key购买 nike

我有来自 2 个不同公司的 2 个 API,允许我与他们的服务器通信以处理交易。我的任务是为这些 API 创建通用接口(interface)。我想到了这样的事情:

IServiceProvider <- ServiceProvider <- CompanyAServiceProvider
IServiceProvider <- ServiceProvider <- CompanyBServiceProvider

CompanyAServiceProvider 中,我使用他们提供的 API 来连接他们的远程服务器。 A 公司的这个 API 抛出的异常与 B 公司的完全不同。

我可以在本地处理异常,但我真的认为这不适合这种情况。

public String purchase(String amount) {
try {
request = new Request( RequestIF.NEW_ORDER_TRANSACTION );
} catch ( InitializationException e ) {
//do something.
}
}

或者我可以向调用者抛出这个异常:

public String purchase(String amount) throws Exception {
request = new Request( RequestIF.NEW_ORDER_TRANSACTION );
}

并且让调用者只处理Exception,不管异常是什么,也不管是什么 API 抛出它。

当我处理 2 组不同的抛出异常时,我如何编写一个接口(interface)到 2 个不同的 API 并保持它的通用性。我处理得对吗?什么是最佳选择?

最佳答案

在这种情况下,我创建了自己的异常子类,并只包装了实际的异常。然后,我的 API 仅公开我的异常。

关于java - 这种情况的异常处理模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/988223/

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