我尝试捕获函数内的异常,但它不起作用。
function dbquery ($mysqli, $query){
try {
$result = mysqli_query ($mysqli, $query);
}
catch (Exception $e) {
echo "Caught exception: ".$e->getMessage();
$result = false;
}
return $result;
}
函数中未捕获异常,调用函数时会抛出 Uncaught mysqli_sql_exception。我究竟做错了什么?我不相信我必须在每个函数调用周围创建一个 try 块......
您将无法捕获
Exception $e
可能出现的所有错误。试试Throwable $e
。
有关更多信息,请参考这个问题(这不是 PHP 问题,但它是一个类似的问题): 在 try catch 中使用 Throwable 和 Exception 的区别