bjori           Sun Jan 14 19:43:52 2007 UTC

  Modified files:              
    /phpdoc/en/reference/errorfunc/functions    set-error-handler.xml 
  Log:
  Fix example and add some whitespace to make it readable
  
  
http://cvs.php.net/viewvc.cgi/phpdoc/en/reference/errorfunc/functions/set-error-handler.xml?r1=1.34&r2=1.35&diff_format=u
Index: phpdoc/en/reference/errorfunc/functions/set-error-handler.xml
diff -u phpdoc/en/reference/errorfunc/functions/set-error-handler.xml:1.34 
phpdoc/en/reference/errorfunc/functions/set-error-handler.xml:1.35
--- phpdoc/en/reference/errorfunc/functions/set-error-handler.xml:1.34  Mon Jan 
 8 10:31:05 2007
+++ phpdoc/en/reference/errorfunc/functions/set-error-handler.xml       Sun Jan 
14 19:43:52 2007
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.34 $ -->
+<!-- $Revision: 1.35 $ -->
 <!-- splitted from ./en/functions/errorfunc.xml, last change in rev 1.1 -->
 <refentry id="function.set-error-handler">
  <refnamediv>
@@ -223,75 +223,84 @@
     <programlisting role="php">
 <![CDATA[
 <?php
-// set the error reporting level for this script
-error_reporting(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE);
-
 // error handler function
 function myErrorHandler($errno, $errstr, $errfile, $errline)
 {
-  switch ($errno) {
-  case E_USER_ERROR:
-    echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
-    echo "  Fatal error in line $errline of file $errfile";
-    echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
-    echo "Aborting...<br />\n";
-    exit(1);
-    break;
-  case E_USER_WARNING:
-    echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
-    break;
-  case E_USER_NOTICE:
-    echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
-    break;
-  default:
-    echo "Unknown error type: [$errno] $errstr<br />\n";
-    break;
-  }
-  return false
+    switch ($errno) {
+    case E_USER_ERROR:
+        echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
+        echo "  Fatal error on line $errline in file $errfile";
+        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
+        echo "Aborting...<br />\n";
+        exit(1);
+        break;
+
+    case E_USER_WARNING:
+        echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
+        break;
+
+    case E_USER_NOTICE:
+        echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
+        break;
+
+    default:
+        echo "Unknown error type: [$errno] $errstr<br />\n";
+        break;
+    }
+
+    /* Don't execute PHP internal error handler */
+    return true;
 }
 
 // function to test the error handling
 function scale_by_log($vect, $scale)
 {
-  if (!is_numeric($scale) || $scale <= 0) {
-    trigger_error("log(x) for x <= 0 is undefined, you used: scale = $scale", 
E_USER_ERROR);
-  }
-
-  if (!is_array($vect)) {
-    trigger_error("Incorrect input vector, array of values expected", 
E_USER_WARNING);
-    return null;
-  }
-
-  for ($i=0; $i<count($vect); $i++) {
-    if (!is_numeric($vect[$i]))
-      trigger_error("Value at position $i is not a number, using 0 (zero)", 
E_USER_NOTICE);
-      $temp[$i] = log($scale) * $vect[$i];
+    if (!is_numeric($scale) || $scale <= 0) {
+        trigger_error("log(x) for x <= 0 is undefined, you used: scale = 
$scale", E_USER_ERROR);
+    }
+
+    if (!is_array($vect)) {
+        trigger_error("Incorrect input vector, array of values expected", 
E_USER_WARNING);
+        return null;
     }
+
+    $temp = array();
+    foreach($vect as $pos => $value) {
+        if (!is_numeric($value)) {
+            trigger_error("Value at position $pos is not a number, using 0 
(zero)", E_USER_NOTICE);
+            $value = 0;
+        }
+        $temp[$pos] = log($scale) * $value;
+    }
+
     return $temp;
-  }
+}
 
 // set to the user defined error handler
 $old_error_handler = set_error_handler("myErrorHandler");
 
 // trigger some errors, first define a mixed array with a non-numeric item
 echo "vector a\n";
-$a = array(2,3, "foo", 5.5, 43.3, 21.11);
+$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
 print_r($a);
 
-// now generate second array, generating a warning
-echo "----\nvector b - a warning (b = log(PI) * a)\n";
+// now generate second array
+echo "----\nvector b - a notice (b = log(PI) * a)\n";
+/* Value at position $pos is not a number, using 0 (zero) */
 $b = scale_by_log($a, M_PI);
 print_r($b);
 
 // this is trouble, we pass a string instead of an array
-echo "----\nvector c - an error\n";
+echo "----\nvector c - a warning\n";
+/* Incorrect input vector, array of values expected */
 $c = scale_by_log("not array", 2.3);
-var_dump($c);
+var_dump($c); // NULL
 
 // this is a critical error, log of zero or negative number is undefined
 echo "----\nvector d - fatal error\n";
+/* log(x) for x <= 0 is undefined, you used: scale = $scale" */
 $d = scale_by_log($a, -2.5);
-
+var_dump($d); // Never reached
 ?>
 ]]>
     </programlisting>
@@ -309,8 +318,8 @@
     [5] => 21.11
 )
 ----
-vector b - a warning (b = log(PI) * a)
-<b>My WARNING</b> [1024] Value at position 2 is not a number, using 0 
(zero)<br />
+vector b - a notice (b = log(PI) * a)
+<b>My NOTICE</b> [1024] Value at position 2 is not a number, using 0 (zero)<br 
/>
 Array
 (
     [0] => 2.2894597716988
@@ -321,13 +330,13 @@
     [5] => 24.165247890281
 )
 ----
-vector c - an error
-<b>My ERROR</b> [512] Incorrect input vector, array of values expected<br />
+vector c - a warning
+<b>My WARNING</b> [512] Incorrect input vector, array of values expected<br />
 NULL
 ----
 vector d - fatal error
-<b>My FATAL</b> [256] log(x) for x <= 0 is undefined, you used: scale = 
-2.5<br />
-Fatal error in line 36 of file trigger_error.php, PHP 4.0.2 (Linux)<br />
+<b>My ERROR</b> [256] log(x) for x <= 0 is undefined, you used: scale = 
-2.5<br />
+  Fatal error on line 35 in file trigger_error.php, PHP 5.2.1 (FreeBSD)<br />
 Aborting...<br />
 ]]>
     </screen>

Reply via email to