gpt4 book ai didi

php - 使用 throw try catch 错误处理的正确方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:10 24 4
gpt4 key购买 nike

我在下面遇到了这个函数,我想知道这是否是使用 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;
}

最佳答案

在代码方面它是正确的/有效的,但是 try-catch 的强大之处在于,当您正在调用的某个函数中从深处抛出异常时。
因为“停止执行中间函数并一直跳回到 catch block ”。

在这种情况下,没有深层异常,因此我会这样写:
(假设在 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;
}

我觉得它更具可读性。

关于php - 使用 throw try catch 错误处理的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/765173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com