代码如下:
for($x=1;$x<=3;$x++)
{
try
{
$c = new client($user_id, $ident);
log("Client initialized successfully...");
break;
}
catch (Exception $e)
{
log("Error in attempt($x)to init client");
}
}
我的问题是,是否有可能在log("Client initialized successfully...");
行之后抛出异常?因为如果是,那么这将意味着日志将包含初始化过程的成功和错误消息。从技术上讲,异常应该只在初始化新客户端对象时才会出现,但我不确定……
嗯,是的,它可以,如果函数日志抛出异常,而且如果我是你,我会重命名函数名,因为已经有一个函数日志:
http://php.net/manual/en/function.log.php只有当日志函数抛出异常时才有可能。
或者,您可以将$success
变量初始化为true
。在catch
中设置为false
。然后在整个try/catch块之后检查它。
异常只能在以下行中抛出:
$c = new client($user_id, $ident);
或
log("Client initialized successfully...");
(我们不知道函数日志是做什么的)
很奇怪,你尝试在循环中初始化对象3次-你期望这里有很多错误吗?