我正在尝试自定义错误消息。 为了处理错误,我根据this Recurly文档使用了“try / catch”块,例如:
try {
$account = Recurly_Account::get('my_account_id');
$subscription = new Recurly_Subscription();
$subscription->account = $account;
$subscription->plan_code = 'my_plan_code';
$subscription->coupon_code = 'my_coupon_code';
/* .. etc .. */
$subscription->create();
}
catch (Exception $e) {
$errorMsg = $e->getMessage();
print $errorMsg;
}
我想在catch块中使用代码,如下所示:
catch (Exception $e) {
$errorCode = $e->getCode();
print $myErrorMsg[$errorCode]; // array of my custom messages.
}
但getCode()方法总是为所有可能的错误返回零。
我对Recurly团队的问题(或者在这个主题中有谁): 我如何得到错误的错误代码?或者请解释我如何解决这个问题。谢谢!
答案 0 :(得分:1)
如果您查看Github上的PHP客户端,并搜索"抛出新的"这是在抛出异常时所做的事情,你会发现他们没有将异常错误代码设置为异常构造函数方法的第二个参数。
Github上的PHP客户端: https://github.com/recurly/recurly-client-php/search?utf8=%E2%9C%93&q=throw+new
PHP异常文档: http://php.net/manual/en/language.exceptions.extending.php
因此,您需要根据其名称捕获更多例外情况 即。
add_items '1,2' '1 2 3'
OR
查看异常消息并进行比较
catch (Recurly_NotFoundError $e) {
print 'Record could not be found';
}