Maison > développement back-end > tutoriel php > PHP中try.catch与return的执行顺序

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

WBOY
Libérer: 2016-06-23 13:52:31
original
1960 Les gens l'ont consulté

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;}
Copier après la connexion


如上。请熟悉的大神帮忙解释一下,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");		}	}
Copier après la connexion

你这样写的就是:正常运行返回true,若有异常返回false

但一定要设置属性项 PDO::ATTR_ERRMODE 为 PDO::ERRMODE_EXCEPTION
否则异常处理无效

还有
Exception $e
要写作
PDOException $e

毛病还不少哦


感谢!
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal