PHP中try.catch与return的执行顺序
程序员文章站
2022-06-13 09:53:38
...
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;}
如上。请熟悉的大神帮忙解释一下,php语言里面,try catch语句中如果有return,执行顺序是什么?
上面这段代码,想要的是:pdo事物正常运行返回true,若有异常返回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
毛病还不少哦
感谢!
下一篇: PHP 5.4 内置web服务器_PHP
推荐阅读
-
mysql 中sql语句关键字的书写顺序与执行顺序
-
php中__destruct与register_shutdown_function执行的先后顺序问题
-
Java中,类与类,类中的代码执行顺序
-
php中__destruct与register_shutdown_function执行的先后顺序问题,destruct_PHP教程
-
php中__destruct与register_shutdown_function执行的先后顺序问题_php技巧
-
PHP中try.catch与return的执行顺序
-
php中执行mysql查询的步骤与方法
-
Java中父类方法与子类方法的执行顺序
-
Java中父类方法与子类方法的执行顺序
-
php中执行mysql查询的步骤与方法