我看了一下kohanaphp,我对错误的内部管理感到困惑。在初始化框架时,Kohana允许您禁用错误的内部管理。启用时,所有错误(通知、警告等)转换为使用ErrorException异常。(http://php.net/manual/en/class.errorexception.php)
Kohana大量使用这个系统来检测php以异常形式产生的错误。示例:
try
{
$this->_connection = mysql_connect($hostname, $username, $password, TRUE);
}
catch (ErrorException $e)
{
// error connection.
throw new Database_Exception(':error', array(':error' => mysql_error()), mysql_errno());
}我的问题是:如果我禁用Kohan的错误处理,是否存在破坏业务逻辑的风险?如果是这样,为什么Kohana可以禁用它?还是有什么东西让我想不起来了?
根据你的说法,这种处理错误的方式本机php正确吗?
发布于 2011-05-24 16:23:03
martswite所说的只适用于2.*版本。不建议在3.*版本中关闭错误标志,因为您会得到正常的PHP错误。
我的问题是:如果我禁用Kohana的错误处理,是否存在破坏业务逻辑的风险?
如果您使用try catch来查看MySQL是否可以连接,那么可以。
,如果是这样的话,为什么Kohana可以禁用它?
这是我提交给开发人员的东西(http://dev.kohanaframework.org/issues/4017)。我没有看到它在3.*发布版中存在的任何理由,所以你不是唯一一个感到有点困惑的人。
根据你的这种方式处理错误,原生php正确吗?
是的,我更喜欢包装一些在尝试中可能失败的东西...将@前缀捕获到方法的前面。它更简洁,更符合其他编程语言的工作方式。
https://stackoverflow.com/questions/6107328
复制相似问题