php异常无法正常工作

时间:2016-08-09 22:07:32

标签: php exception-handling

我有一个简单的程序应该触发两个异常,第二个是第一个重新抛出。但是,只抛出第一个例外。

这是我的代码:

在dao.php中

function executeSQLC($cn, $sql) {       
    $rs = odbc_exec($cn, $sql);
    if($rs == false) {
        throw new Exception("ex1: ".odbc_error());
    }

    return $rs;     
}

在bean.php中

include("dao.php");

$conn = odbc_connect("xxx", "xxxx", "xxxx");
odbc_autocommit($conn, FALSE);
$sql ="invalid sql";
try {
    executeSQLC($conn, $sql);
    odbc_commit($conn);
    odbc_close($conn);
} catch(Exception $e) {
    odbc_rollback($conn);
    throw new Exception("ex2: ".$e->getMessage(). " " .$sql);       
}

我看到" ex1",所以我认为第一个例外,在dao,正在抛出,但是,我无法看到" ex2"并且连接永远不会回滚。

由于

1 个答案:

答案 0 :(得分:0)

好吧,其他一些代码正在调用/搞乱$ sql变量,不确定这是什么原因,但事情似乎现在正在发挥作用。谢谢大家。