dongpaozhi5734 2013-05-08 10: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 10: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.

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

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部