我有来自2个不同公司的2个API,允许我与他们的服务器通信以处理事务.我的任务是创建这些API的通用接口.我提出了这样的事情:
IServiceProvider <- ServiceProvider <- CompanyAServiceProvider
IServiceProvider <- ServiceProvider <- CompanyBServiceProvider
Run Code Online (Sandbox Code Playgroud)
在CompanyAServiceProvider我使用他们提供的API与他们的远程服务器接口.A公司的这个API会抛出与公司B完全不同的例外情况.
我可以在本地处理异常,但我真的不认为套件的情况.
public String purchase(String amount) {
try {
request = new Request( RequestIF.NEW_ORDER_TRANSACTION );
} catch ( InitializationException e ) {
//do something.
}
}
Run Code Online (Sandbox Code Playgroud)
或者我可以将此异常抛给调用者:
public String purchase(String amount) throws Exception {
request = new Request( RequestIF.NEW_ORDER_TRANSACTION );
}
Run Code Online (Sandbox Code Playgroud)
并且让调用者只处理Exception该异常,无论API抛出什么.
当我处理2组不同的抛出异常时,如何编写2个不同API的接口并使其保持通用.我正确地处理了这件事吗?什么是最好的选择?
aka*_*okd 14
在这种情况下,我创建自己的Exception sublcass并只包装实际的异常.我的API然后只暴露我的异常.
| 归档时间: |
|
| 查看次数: |
278 次 |
| 最近记录: |