如果抛出数据库异常,PDO的inTransaction()将在仍在事务中时返回false。这可能特定于使用PostgreSQL。例如try{$pdo->beginTransaction();$pdo->exec('SETTRANSACTIONISOLATIONLEVELSERIALIZABLE');//...//CauseanyPDOexception//...$pdo->commit();}catch(\Exception$e){if($pdo->inTransaction()){//Nevergetshere$pdo->rollback();}throw$e;}交易肯定没有结束,因