【问题标题】:Kohana - ErrorExceptionKohana - 错误异常
【发布时间】:2011-05-24 07:54:33
【问题描述】:

我正在查看 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错误的方式对吗?

【问题讨论】:

标签: php kohana


【解决方案1】:

martswite 所说的仅适用于 2.* 版本。不建议在 3.* 版本中关闭错误标志,因为您会得到正常的 PHP 错误。

我的问题是:如果我禁用 Kohana 的错误处理,是否存在破坏业务逻辑的风险?

如果您使用 try catch 来查看 MySQL 是否会连接,那么可以。

如果是这样,为什么 Kohana 可以禁用?

这是我给开发人员的内容 (http://dev.kohanaframework.org/issues/4017)。我看不出有任何理由让它出现在 3.* 版本中,所以你不是唯一一个有点困惑的人。

根据你这种处理原生php错误的方式对吗?

是的,我更喜欢将 可能 失败的东西包装在 try ... catch 中,而不是在方法前面添加 @。它更简洁,更符合其他编程语言的工作方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多