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 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算