首页 > 后端开发 > php教程 > PHP中try.catch与return的执行顺序

PHP中try.catch与return的执行顺序

WBOY
发布: 2016-06-23 13:52:31
原创
1993 人浏览过

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.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板