繁体   English   中英

如何使用try catch进行zend dbtable delete

[英]how to use try catch for zend dbtable delete

我应该在下面的代码片段中使用try catch吗? 我认为,如果zend无法删除行或异常,它将返回整数(0)。 那么什么更好,为什么呢?

$statusDbObj = new Tracker_Model_DbTable_Status();
$where =  $statusDbObj->getAdapter()->quoteInto('tracking_number = ?', $airwaybill_number);
$delete = $statusDbObj->delete($where);
if($delete > 0)
{  
   // do something
}
else
{
   // not deleted
}

这是try catch:

   try
   {   
     $statusDbObj = new Tracker_Model_DbTable_Status();
     $where =  $statusDbObj->getAdapter()->quoteInto('tracking_number = ?', $airwaybill_number);
     $delete = $statusDbObj->delete($where);

     if($delete > 0)
     {  
       // do something
     }
   }
   catch (Exception $e)
   {
     // not deleted and print error
   }

我是使用try catch的新手

这取决于您要解决的问题:

  • 仅使用delete结果将帮助您检测“预期问题”(即,当您由于条目与where表达式不匹配而无法删除条目时)。
  • 如果还使用try - catch结构(例如,捕获Zend_Db_Exception ,很可能由delete方法抛出该异常),则还可以检测到“意外问题”(例如,如果数据库连接失败) )。 如果省略此结构,则最终的异常会弹出给代码调用者,并且您还需要在某个地方解决它们。

希望能有所帮助,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM