dongpaozhi5734 2013-05-08 18:35
浏览 35
已采纳

Pdo错误捕获尝试/捕获

After looking into using try catch blocks for my Pdo statements is it really a benefit? Does this just slow your code down?

I believe that there should be a try catch around the connection command in case the database connection fails. But does there really need to be try catch around each pre prepared statement? These should never change and never really error out.

Any thoughts?

I'm using Php and MySql.

  • 写回答

1条回答 默认 最新

  • douxuanling6523 2013-05-08 18:51
    关注

    There is no benefit to this:

    try {
      // exec statement
      // exec statement
    }
    catch (Exception $e) {
      // do nothing
    }
    

    If you aren't going to do anything with the error and provide a reasonable solution, then you may as well let the exception bubble up to the application's main "something went wrong" error page.

    But you may want to do this:

    // begin transaction
    try {
      // exec statement
      // exec statement
      // commit transaction
    }
    catch (Exception $e) {
      // rollback transaction
      // handle error or rethrow $e; 
    }
    

    And prepared statements can throw exceptions. Perhaps a unique key is violated, or a foreign key constraint is, etc.

    But the main point is, you don't use exceptions to hide or silence errors. You use them to catch an error, process it intelligently, and continue on accordingly.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考