Maison >développement back-end >tutoriel php >PHP中try.catch与return的执行顺序
try { $pdo->begintransaction(); foreach ($sql_arr as $sql) { $stmt = $pdo->exec($sql); } $pdo->commit(); return true;} catch (Exception $e) { echo $e->getMessage(); $pdo->rollBack(); return false;}
你这样写的就是:正常运行返回true,若有异常返回false
但一定要设置属性项 PDO::ATTR_ERRMODE 为 PDO::ERRMODE_EXCEPTION
否则异常处理无效
还有
Exception $e
要写作
PDOException $e
毛病还不少哦
版主大大已经回答了,我来混分的,一个小例子
$res=test('oo'); if($res){ echo '呵呵'; } function test($name){ try{ a($name); return true; }catch (Exception $e){ echo $e->getMessage(); return false; } } function a($name){ if($name=="xx"){ return true; }else{ throw new Exception("error"); } }
你这样写的就是:正常运行返回true,若有异常返回false
但一定要设置属性项 PDO::ATTR_ERRMODE 为 PDO::ERRMODE_EXCEPTION
否则异常处理无效
还有
Exception $e
要写作
PDOException $e
毛病还不少哦