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

_胖_洋_葱_Silov 2014-07-30 04:26:10

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,请问能否正常实现?
...全文
324 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
_胖_洋_葱_Silov 2014-08-01
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
你这样写的就是:正常运行返回true,若有异常返回false 但一定要设置属性项 PDO::ATTR_ERRMODE 为 PDO::ERRMODE_EXCEPTION 否则异常处理无效 还有 Exception $e 要写作 PDOException $e 毛病还不少哦
感谢!
果酱很好吃 2014-07-30
  • 打赏
  • 举报
回复
版主大大已经回答了,我来混分的,一个小例子
$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");
		}
	}
xuzuning 2014-07-30
  • 打赏
  • 举报
回复
你这样写的就是:正常运行返回true,若有异常返回false 但一定要设置属性项 PDO::ATTR_ERRMODE 为 PDO::ERRMODE_EXCEPTION 否则异常处理无效 还有 Exception $e 要写作 PDOException $e 毛病还不少哦

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧