error_reporting笔记

  1 <?php
  2 /**
  3  *    ERROR_REPORTING 错误报告级别
  4  *    @author cntnn11
  5  *    @time 2013-01-14
  6 */
  7 error_reporting(E_ALL);
  8 echo "<h1>ERROR_REPORTING 错误级别用法</h1>";
  9 echo "<hr/>";
 10 
 11 echo "<h3>1.    E_ERROR --> (1)</h3>";
 12 echo "<p>a.    报告运行时的致命错误</p>";
 13 echo "<hr/>";
 14 
 15 echo "<h3>2.    E_WARNING --> (2)</h3>";
 16 echo "<p>输出一个非致命性错误。但是该错误不会中断程序的执行。</p>";
 17 echo "<p>该类型错误包括参数传递错误</p>";
 18 echo "<p>EXP:array_flip('string'); --> Warning:xxxxx</p>";
 19 foreach ($warning as $value)
 20 {
 21     echo "error";
 22 }
 23 echo "<hr/>";
 24 
 25 echo "<h3>3.    E_NOTICE --> (8)</h3>";
 26 echo "<p>这个是输出可能的错误。比如:</p>";
 27 echo "<p> a).有个变量未声明</p>";
 28 echo "<p>这个比较少用,我们一般不让其显示。该错误不会中断程序执行</p>";
 29 echo $notice;
 30 echo "<hr/>";
 31 
 32 echo "<h3>4.    E_PARSE --> (4)</h3>";
 33 echo "<p>编译时语法解析错误。解析错误仅仅由分析器产生。</p>";
 34 echo "<p>这个很少见,目前为止我没有碰到过</p>";
 35 echo "<hr/>";
 36 
 37 echo "<h3>4.    E_CORE_ERROR --> (16)</h3>";
 38 echo "<p>a.    报告PHP引擎启动失败</p>";
 39 echo "<p>b.    类似 E_ERROR,但不包括 PHP 核心造成的错误。</p>";
 40 echo "<hr/>";
 41 echo "<h3>5.    E_CORE_WARNING --> (32)</h3>";
 42 echo "<p>a.    报告PHP引擎启动时非致命错误</p>";
 43 echo "<p>b.    类似 E_WARNING,但不包括 PHP 核心错误警告。</p>";
 44 echo "<p>以上继续不懂...</p>";
 45 echo "<hr/>";
 46 
 47 echo "<h3>6.    E_COMPILE_ERROR --> (64)</h3>";
 48 echo "<p>a.    报告编译错误</p>";
 49 echo "<p>b.    应该也是类似E_ERROR错误,只是对象不同(暂时猜测)</p>";
 50 echo "<hr/>";
 51 echo "<h3>7.    E_COMPILE_WARNING --> (128)</h3>";
 52 echo "<p>a.    报告编译时出现的非致命错误</p>";
 53 echo "<p>b.    应该也是类似E_WRNING错误,只是对象不同(暂时猜测)</p>";
 54 echo "<p>找不到输出位置,模拟不出这个错误...</p>";
 55 /*
 56 2047       E_ALL            报告所有的错误和警告
 57 2048       E_STRICT        报告不赞成的用法和不推荐的行为
 58 */
 59 echo "<h3>7.    E_USER_ERROR --> (256)</h3>";
 60 echo "<p>a.    报告用户触发的错误</p>";
 61 echo "<h3>8.    E_USER_WARNING --> (512)</h3>";
 62 echo "<p>a.    报告用户触发的警告</p>";
 63 echo "<h3>9.    E_USER_NOTICE</h3>";
 64 echo "<p>a.    报告用户触发的通告</p>";
 65 echo "<hr/>";
 66 
 67 echo "<h3>10.    E_ALL --> (2047)</h3>";
 68 echo "<p>a.    报告所有的错误和警告。这个无需解释</p>";
 69 echo "<hr/>";
 70 
 71 echo "<h3>11.    E_STRICT --> (2048)</h3>";
 72 echo "<p>a.    报告不赞成的用户和不推荐的行为</p>";
 73 echo "<p>EXP:如果调用了类的一个私有属性,那么会提示该错误</p>";
 74 
 75 class testError
 76 {
 77     private $strict = 'no';
 78 
 79     public function publicFun()
 80     {
 81         echo "访问我不报错!<br/>";
 82     }
 83 
 84     private function strictFunc()
 85     {
 86         echo "外部访问我会报错!<br/>";
 87     }
 88 }
 89 $error    = new testError();
 90 $error->publicFun();
 91 echo "<hr/>";
 92 
 93 echo "<h3>设置使用方法</h3>";
 94 echo "<p>a.    error_reporting(E_ALL); 程序中可以这么使用</p>";
 95 echo "<p>b.    ini_set('error_reporting', E_ALL); 这种方式也可以</p>";
 96 //ini_set('error_reporting', E_ALL);
 97 echo "<p>当然,你还可以这么玩:比如这样(E_ERROR | E_WARNING),这个表示只显示error或warning级别的错误</p>";
 98 echo "<p>(E_ALL & ~E_NOTICE); 这个除开notice级别的错误,其他的都显示出来。</p>";
 99 echo "<p style='text-indent:2em;'>~表示非的意思。&,这个你知道的</p>";
100 
101 echo "<h1 style='color:red;'>学习不是为了完任务!</h1>";
102 ?>

 

posted @ 2013-01-14 20:11  cntnn11  阅读(239)  评论(0编辑  收藏  举报