&reftitle.examples; Abajo podemos ver un ejemplo del uso de las capacidades del manejo de errores de PHP. Definimos una función de gestión de errores que registra la información en un archivo (usado un foramto XML), y envía un e-mail a los desarrolladores en caso de que suceda un error crítico en la lógica. Usar el manejo de errores en un script 'Error', E_WARNING => 'Warning', E_PARSE => 'Parsing Error', E_NOTICE => 'Notice', E_CORE_ERROR => 'Core Error', E_CORE_WARNING => 'Core Warning', E_COMPILE_ERROR => 'Compile Error', E_COMPILE_WARNING => 'Compile Warning', E_USER_ERROR => 'User Error', E_USER_WARNING => 'User Warning', E_USER_NOTICE => 'User Notice', E_STRICT => 'Runtime Notice', E_RECOVERABLE_ERROR => 'Catchable Fatal Error' ); // conjunto de errores por el cuál se guardará un seguimiento de una variable $errores_usuario = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); $err = "\n"; $err .= "\t" . $fh . "\n"; $err .= "\t" . $númerr . "\n"; $err .= "\t" . $tipoerror[$númerr] . "\n"; $err .= "\t" . $menserr . "\n"; $err .= "\t" . $nombrearchivo . "\n"; $err .= "\t" . $númlínea . "\n"; if (in_array($númerr, $errores_usuario)) { $err .= "\t" . wddx_serialize_value($vars, "Variables") . "\n"; } $err .= "\n\n"; // para probar // echo $err; // guardar al registro de errores, y enviarme un e-mail si hay un error crítico de usuario error_log($err, 3, "/usr/local/php4/error.log"); if ($númerr == E_USER_ERROR) { mail("phpdev@example.com", "Error Crítico de Usuario", $err); } } function distancia($vect1, $vect2) { if (!is_array($vect1) || !is_array($vect2)) { trigger_error("Parámetros incorrectos, se esperaba una matriz", E_USER_ERROR); return NULL; } if (count($vect1) != count($vect2)) { trigger_error("Los vectores necesitan ser del mismo tamaño", E_USER_ERROR); return NULL; } for ($i=0; $i ]]>