在如下所示的 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);
所以它尝试再次执行该功能,看看这次它是否带来了有效数据?
最佳答案
foreach ($apis as $api)
{
$api = '_'.$api;
try {
$searchResults[$api] = $this->$api($parameters);
}
catch(ParameterException $e) {
// parameterexception handling here
echo "A ParameterException was thrown";
}
catch(Exception $e) {
// All other exceptions
echo "Some other Exception was thrown";
}
}
您还可以区分更多异常类型。
关于foreach循环中的PHP异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869876/