如何使用PHP基础异常在zend框架2中捕获异常?
如果取消注释了行,则找不到异常类,并且取消了异常。
如果注释了行,则命名空间为null,并且建立了PHP基础异常类。
我无法取消注释这一行,因为zend在很多地方都需要这样做,例如。 ActionController的。
怎么做? 我是否只使用Zend Exceptions? 我必须使用什么是更通用的zend Exception类?
<?php namespace SecureDraw; ?> // <<----- If remove this line catch work ok!!
<?php echo $this->doctype(); ?>
<?php
use Zend\Db\Adapter\Adapter as DbAdapter;
try{
$dbAdapter = new DbAdapter(array(
'driver' => 'Pdo_Mysql',
'database' => 'securedraw',
'username' => 'root',
'password' => '',
));
$sql = "select * from tablenotexist";
$statement = $dbAdapter->createStatement($sql);
$sqlResult = $statement->execute();
}
catch(Exception $e){
echo "hello";
}
?>
答案 0 :(得分:10)
您需要添加:
use Exception;
或使用:
catch (\Exception $e) {
所有内置的PHP类都存在于根(\
)命名空间中。您的示例中的try-catch正在尝试匹配SecureDraw\Exception
。