Ich habe ein einfaches Programm, das zwei Ausnahmen auslösen sollte, die zweite ist eine Wiederholung der ersten. Es wird jedoch nur die erste Ausnahme ausgelöst.php Ausnahme funktioniert nicht
Dies ist mein Code:
In dao.php
function executeSQLC($cn, $sql) {
$rs = odbc_exec($cn, $sql);
if($rs == false) {
throw new Exception("ex1: ".odbc_error());
}
return $rs;
}
In 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);
}
I "EX1" zu sehen, so denke ich, die erste Ausnahme, bei der dao, wird geworfen, aber ich kann "ex2" nicht sehen und die Verbindung wird nie zurückgesetzt.
Dank
Sie sehen ex1 wo? Bist du sicher, dass 'executeSQLC' nicht woanders aufgerufen wird? – NDM
Vielleicht Exception2 feuert nicht, weil $ sql ist nicht im Bereich – bumperbox
Und '$ sql' existiert nicht in' bean.php' vielleicht wird das dazu führen, dass der Wurf mit dem Leben verärgert – RiggsFolly