在我的Pdo语句中使用try catch块后,这真的有什么好处吗?这会降低您的代码速度吗?
我认为在数据库连接失败的情况下应该尝试捕获连接命令。但是真的需要尝试捕捉每个预先准备好的声明吗?这些应该永远不会改变,永远不会出错。
有什么想法吗?
我正在使用Php和MySql。
答案 0 :(得分:1)
这没有任何好处:
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;
}
准备好的语句可以抛出异常。可能违反了唯一键,或者是外键约束等等。
但重点是,你不要使用例外来隐藏或消除错误。您可以使用它们来捕获错误,智能地处理它并继续相应的操作。