doucheng9634 2011-05-24 07:54
浏览 41
已采纳

Kohana - ErrorException

I'm giving a look at kohanaphp, and I was perplexed by the internal management of errors. When you initialize the framework, Kohana gives you the ability to disable the internal management of errors. When enabled, all errors (NOTICE, WARNING, etc..) are converted into using ErrorException exceptions. (http://php.net/manual/en/class.errorexception.php)

Kohana makes large use this system to detect errors generated by php, in the form of exceptions. Example:

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());
}

My question is: if I disable error handling of Kohan, there is a risk of corrupting the business logic? And if so, why Kohana makes it possible to disable? Or is there something that escapes me?

According to you this way of handling errors native php correct?

  • 写回答

1条回答 默认 最新

  • duanpie2414 2011-05-24 08:23
    关注

    What martswite said only applies to the 2.* release. Turning off the error flag in the 3.* releases is not recommend as you'll get normal PHP errors.

    My question is: if I disable error handling of Kohana, there is a risk of corrupting the business logic?

    If you're using a try catch to see if MySQL would connect, then yes.

    And if so, why Kohana makes it possible to disable?

    That is something I've put to the developers (http://dev.kohanaframework.org/issues/4017). I don't see any reason for it to be around in the 3.* release so you're not the only one who is a tad confused.

    According to you this way of handling errors native php correct?

    Yes, I prefer wrapping something that could fail in a try ... catch over prepending @ to the front of the method. It's cleaner and more inline with how other programming languages work.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端