
2007-9-2 15:04
wps2000
Zend Framework干扰try{}catch(){}?
越来越发现麻烦了
try{
//执行数据库操作
}
catch(Exception $e)
{
}
结果都会导致一个 Uncaught exception 'Zend_Db_Statement_Exception' with message '
即使改成 try{}catch(Zend_Exception $e){}依然无效,Guarded Region中的异常无论怎样都不会被紧跟在后面的catch块捕获、即使把catch的type放宽到 exception
这貌似是PHP的问题吧,不过Zend Framework真的不该搞成这样,太麻烦了,还得手工检测是否数据库中有重复的记录
2007-9-2 15:10
wps2000
[php]
<?php
class ExceptionController extends Zend_Controller_Action
{
public function indexAction()
{
try {
throw new Zend_Exception('你好');
}
catch (Zend_Exception $e)
{
echo '捕获到了';
}
}
}[/php]
异常还是会冒泡到最高层,真他妈无聊,Zend为什么要修改异常的处理机制?
2007-9-5 08:57
qqinxl
Ls 第一次学习Php?还是也没接触过java之类的?
一个框架 能够修改异常处理机制,怎么可能?又不是设置在php.ini里。
2007-9-6 12:10
wps2000
ls的给个解释?
2007-9-6 12:12
wps2000
不论怎么说,我的catch快都比Zend的catch块更优先的捕获异常,可惜的是,貌似没有
Zend_Exception的确是继承自Exception的
2007-9-8 20:31
Haohappy
我的都正常。。
[php]function editOne($data,$where){
try{
// 更新表数据,返回更新的行数
$rows_affected = $this->update($data, $where);
}catch (PDOException $e){
echo "Exception caught : {$e->getMessage()}\n";
exit;
}
}
[/php]
2007-9-9 08:52
mikespook
我的也正常~~
try
{
$catName = $this->getParam('catName');
if ($catName === '')
{
throw new Exception('分类名称不能为空!');
}
$catMemo = $this->getParam('catMemo');
$catParent = $this->getParam('catParent');
$categoryModel->add($catName, $catParent, $catMemo);
$this->_db->commit();
$this->feedback('添加成功!', '注意', "/admin/category/index");
}
catch(Exception $e)
{
$this->_db->rollback();
$this->feedback($e->getMessage(), '注意', 'javascript:window.history.back();', 'warning');
}
2007-9-9 19:45
wps2000
各位什么版本PHP 啊
2008-5-12 12:52
keenlio
我的也正常。。php5.2.5 MySQL5.0.45 Apache 2.26
try {
$db->insert('tbl', $query1);
$db->commit();
}
catch (Exception $e) {
$db->rollBack();
$errorMsg[] = $e->getMessage();
}// end of catch exception
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.