管理错误和成功消息和代码的好方法是什么?

时间:2009-07-14 23:31:16

标签: php error-handling error-code

目前我没有一个非常好的系统来管理错误或成功消息,它们几乎与代码一起编写。有人可以提出最佳做法或您正在做的事情,以便能够通过应用程序正确管理大量错误和成功消息。

认为国际化...一些应用程序将有语言文件,然后应用程序只是从特定文件中提取字符串......我正在考虑为错误和成功消息实现类似的概念,并且很好奇其他人做了什么沿着同样的路线?

3 个答案:

答案 0 :(得分:1)

这是我使用的一个功能:

function checkErrors($type, $msg, $file, $line, $context) {
   echo "<h1>Error!</h1>";
   echo "An error occurred while executing this script. Please contact the <a href=mailto:webmaster@somedomain.com>webmaster</a> to report this error.";
   echo "<p />";
   echo "Here is the information provided by the script:";
   echo "<hr><pre>";
   echo "Error code: $type<br />";
   echo "Error message: $msg<br />";
   echo "Script name and line number of error: $file:$line<br />";
   $variable_state = array_pop($context);
   echo "Variable state when error occurred: ";
   print_r($variable_state);
   echo "</pre><hr>";
} 
set_error_handler('checkErrors'); 

它将为您提供PHP代码生成的所有错误和警告,并在有人访问包含错误的页面时为您创建错误页面。

希望这有帮助!

答案 1 :(得分:0)

由于我使用单接入点样式系统来引导应用程序并包含正确的文件(它基本上是一个控制器系统),我可以使用:

<?php
try {
    require 'bootstrap.php';
    // dispatch controller
    require "controllers/$controller.php";
} catch (Exception $e) {
    // echo info
} catch (LibraryException $le) {
    // library specific exception
}

然后,当我想抛出错误时,我只是:

throw new Exception('An error occurred.');
  

有人可以提出最佳做法或您正在做的事情,以便能够通过应用程序正确管理大量错误和成功消息。

这是我通过批量管理错误的方式,但不是我如何管理列表。我可以grep查找我发现的错误消息,但它并不是非常有条理。

答案 2 :(得分:0)

您可能会使用类似PHP Documentor的内容,并在每个类的文档中包含错误和消息。

http://www.phpdoc.org/