我应该在下面的代码片段中使用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
的新手答案 0 :(得分:1)
这取决于您想要解决的问题类型:
delete
结果即可帮助您检测"预期的问题" (即,当您无法删除条目时,因为它们与where
表达式不匹配)。try
- catch
结构(例如,抓住可能被Zend_Db_Exception
方法抛出的delete
),您就可以# 39;还能够发现"意外问题" (例如,如果数据库连接失败)。如果省略此结构,最终的异常将弹出到代码的调用者,并且您还需要在某处解决它们。希望有所帮助,