在研究了对我的 Pdo 语句使用 try catch 块之后,它真的有好处吗?这只会减慢您的代码速度吗?
我相信应该在连接命令周围有一个尝试捕获,以防数据库连接失败。但是真的需要围绕每个预先准备好的语句进行尝试吗?这些永远不会改变,也永远不会真正出错。
有什么想法吗?
我正在使用 PHP 和 MySql。
这样做没有任何好处:
try {
// exec statement
// exec statement
}
catch (Exception $e) {
// do nothing
}
如果您不打算对错误进行任何处理并提供合理的解决方案,那么您不妨让异常冒泡到应用程序的主要“出现问题”错误页面。
但你可能想要这样做:
// begin transaction
try {
// exec statement
// exec statement
// commit transaction
}
catch (Exception $e) {
// rollback transaction
// handle error or rethrow $e;
}
准备好的语句可以抛出异常。可能违反了唯一键,或者外键约束等。
但要点是,您不要使用异常来隐藏或消除错误。您可以使用它们来捕获错误,智能地处理它,并相应地继续。