【发布时间】:2012-01-15 13:15:05
【问题描述】:
在如下所示的 foreach 循环中实现 php 异常(try{}catch(){})的正确方法是:
foreach ($apis as $api)
{
$api = '_'.$api;
$searchResults[$api] = $this->$api($parameters);
}
如果 $this->api(); 之一返回错误消息,我想实现 php 异常,而不是捕获它并在捕获中执行 if 以显示正确的消息返回的错误信息。
编辑: 此外,在捕获错误时,如果错误消息为 1(例如),这是否是一种好方法:
$searchResults['api'] = $this->_api($parameters);
所以它会再次尝试执行该功能并查看这次是否带来了有效数据?
【问题讨论】:
-
为什么只试一次?如果您想拥有重试策略,则必须以显示您的策略的方式实施它。例如,您可以放置一个带有计数器的 while 循环,以确保在将原因声明为丢失之前至少重试五次。