这是我的代码:
try
{
oci_execute($command);
}
catch(Exception $e){
$this->sendMailFunction($e);
}
其中$command
是Oracle SQL查询。我的问题是,如果查询失败,控件不会进入catch块。为什么会这样?
我正在使用php的yii框架。
答案 0 :(得分:0)
oci_execute
不会抛出异常。如果失败,将返回布尔false
并生成Warning
。要获取错误详细信息,您需要调用oci_error()
函数而不是try/catch
:
if (false === oci_execute($command)) {
$this->sendMailFunction(oci_error($command));
};
如果您不想在错误日志中使用Warning
,则可以添加@
符号来禁止它。