Kohana-ErrorException

问题描述

| 我看了看kohanaPHP,对错误的内部管理感到困惑。初始化框架时,Kohana允许您禁用错误的内部管理。启用后,所有错误(NOTICE,WARNING等)都将转换为使用ErrorException异常。 (http://PHP.net/manual/zh/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错误方法正确吗?     

解决方法

martswite所说的仅适用于2. *版本。不建议关闭3. *版本中的错误标志,因为这样会出现正常的PHP错误。   我的问题是:如果禁用Kohana的错误处理,是否存在破坏业务逻辑的风险? 如果您正在使用try catch来查看MySQL是否可以连接,则可以。   如果是这样,为什么Kohana可以禁用它? 这就是我交给开发人员的内容(http://dev.kohanaframework.org/issues/4017)。我不认为它会出现在3. *版本中,因此您不是唯一一个有点困惑的人。   根据您的这种方式来处理本地php错误的方法正确吗? 是的,我更喜欢包装一些可能会失败的东西...赶在方法前面添加@之前。它更加干净,并且与其他编程语言的工作方式更加内联。