创建一个用户友好的包装器API,具有良好的错误处理

时间:2014-06-14 17:04:27

标签: java java-ee

我正在使用非常难以使用的支付API创建包装器API。当你进行支付交易时,所有的事情都可能出错;卡存在问题,客户银行拒绝付款,3D安全问题和列表继续(大约20个错误代码)。在付款API中,此信息在普通String字段中提供。错误代码将例如是Card_not_eligible

我想要做的是提供一种更好的方法来处理这些错误。我一直在考虑为每个错误代码创建自己的异常。这听起来很疯狂吗?如果不是,您会使用已检查或未检查的例外吗?强制捕获20个或更多错误可能不是一个好主意?

或者您是否有更好的解决方案来处理此类错误?

1 个答案:

答案 0 :(得分:2)

问题1

  

我一直在考虑为每个错误代码创建自己的异常。这听起来很疯狂吗?

这取决于这些错误代码是否引用Makoto指出的例外行为。例如,如果API返回了一个关于服务器连接断开的错误代码,我通常会通过抛出异常来处理这种异常行为。但是如果该服务器由Bicycle Generator Project提供支持,则很明显连接可能已关闭,因此在这种情况下,没有任何异常行为需要处理,我也不会抛出任何异常

因此,当某些错误代码不是特殊的行为时,您的解决方案听起来很疯狂。

问题2

  

如果不是,您会使用已检查或未检查的例外吗?

这个问题刚刚回答:

问题3

  

强制捕获20个或更多错误可能不是一个好主意?

看起来像嗅觉代码。

问题4

  

或者您是否有更好的解决方案来处理此类错误?

您可以在系列中对错误代码进行分组:

  • 不可恢复的代码例外行为 - >所有
  • 都有一个例外
  • 可恢复的代码例外行为 - >每个
  • 都有一个例外
  • 不是例外行为的代码 - >没有任何例外