san*_*ers 4 php error-handling exception
我已经遇到了下面这个函数,我想知道这是使用try/catch错误处理的正确方法.
public function execute()
{
$lbReturn = false;
$lsQuery = $this->msLastQuery;
try
{
$lrResource = mysql_query($lsQuery);
if(!$lrResource)
{
throw new MysqlException("Unable to execute query: ".$lsQuery);
}
else
{
$this->mrQueryResource = $lrResource;
$lbReturn = true;
}
}
catch(MysqlException $errorMsg)
{
ErrorHandler::handleException($errorMsg);
}
return $lbReturn;
}
Run Code Online (Sandbox Code Playgroud)
Codewise它是正确的/有效的,但try-catch的强大之处在于,当你正在调用的函数之一从内向下抛出异常时.
因为"停止执行中功能并一直跳回到catch块".
在这种情况下,没有深度异常,因此我会这样写:(
假设ErrorHandler中有一个函数"handleErrorMessage".)
public function execute() {
$lsQuery = $this->msLastQuery;
$lrResource = mysql_query($lsQuery);
if(!$lrResource) {
ErrorHandler::handleErrorMessage("Unable to execute query: ".$lsQuery);
return false;
}
$this->mrQueryResource = $lrResource;
return true;
}
Run Code Online (Sandbox Code Playgroud)
我觉得哪个更具可读性.
| 归档时间: |
|
| 查看次数: |
1483 次 |
| 最近记录: |