我正在使用非常难以使用的支付API创建包装器API。当你进行支付交易时,所有的事情都可能出错;卡存在问题,客户银行拒绝付款,3D安全问题和列表继续(大约20个错误代码)。在付款API中,此信息在普通String
字段中提供。错误代码将例如是Card_not_eligible
。
我想要做的是提供一种更好的方法来处理这些错误。我一直在考虑为每个错误代码创建自己的异常。这听起来很疯狂吗?如果不是,您会使用已检查或未检查的例外吗?强制捕获20个或更多错误可能不是一个好主意?
或者您是否有更好的解决方案来处理此类错误?
答案 0 :(得分:2)
问题1
我一直在考虑为每个错误代码创建自己的异常。这听起来很疯狂吗?
这取决于这些错误代码是否引用Makoto指出的例外行为。例如,如果API返回了一个关于服务器连接断开的错误代码,我通常会通过抛出异常来处理这种异常行为。但是如果该服务器由Bicycle Generator Project提供支持,则很明显连接可能已关闭,因此在这种情况下,没有任何异常行为需要处理,我也不会抛出任何异常
因此,当某些错误代码不是特殊的行为时,您的解决方案听起来很疯狂。
问题2
如果不是,您会使用已检查或未检查的例外吗?
这个问题刚刚回答:
问题3
强制捕获20个或更多错误可能不是一个好主意?
看起来像嗅觉代码。
问题4
或者您是否有更好的解决方案来处理此类错误?
您可以在系列中对错误代码进行分组: