此代码中的$ e是什么?什么时候我们可以使用这种语法?
try {
$pdo->exec($sql);
// do more
}
catch (PDOException $e) {
return $e->getMessage();
}
答案 0 :(得分:2)
$ e是被抓住的例外。
具体来说,它是一个PDOException而且只是一个PDOException。
如果在try中抛出任何其他异常,它们将不会被此块捕获。
try {
$pdo->exec($sql);
// do more
}
catch (PDOException $e) {
// PDO Exceptions
return $e->getMessage();
}
catch( Exception $e ) {
// all other exceptions will get caught here.
return $e->getMessage();
}
当您决定抛出自己的异常时,您可以做的一件有趣的事情是创建自己的自定义异常类。一个good approach is found in the PHP Manual comments。
class appException extends CustomException{ }
将PHP错误(和警告)转换为异常非常有用,这样您就可以利用try / catch来处理Web应用程序中的所有错误。
set_error_handler( create_function( '$a, $b, $c, $d',
'throw new ErrorException( $b, 0, $a, $c, $d );
return false;' ),
E_ALL );