&reftitle.examples; A continuación podemos apreciar un ejemplo del uso de las capacidades de gestión de errores que vienen con PHP. Definimos una función de manipulación de errores que registra la información en un archivo (usando un formato XML), y envía un correo electrónico al desarrollador en caso de que un error crítico en la lógica del software ocurra. Uso de gestión de errores en un script "Error", E_WARNING => "Advertencia", E_PARSE => "Error de Intérprete", E_NOTICE => "Anotación", E_CORE_ERROR => "Error de Núcleo", E_CORE_WARNING => "Advertencia de Núcleo", E_COMPILE_ERROR => "Error de Compilación", E_COMPILE_WARNING => "Advertencia de Compilación", E_USER_ERROR => "Error de Usuario", E_USER_WARNING => "Advertencia de Usuario", E_USER_NOTICE => "Anotación de Usuario", E_STRICT => "Anotación de tiempo de ejecución" ); // conjunto de errores de los cuales se almacenara un rastreo $errores_de_usuario = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); $err = "\n"; $err .= "\t" . $dt . "\n"; $err .= "\t" . $num_err . "\n"; $err .= "\t" . $tipo_error[$num_err] . "\n"; $err .= "\t" . $mens_err . "\n"; $err .= "\t" . $nombre_archivo . "\n"; $err .= "\t" . $num_linea . "\n"; if (in_array($num_err, $errores_de_usuario)) { $err .= "\t" . wddx_serialize_value($vars, "Variables") . "\n"; } $err .= "\n\n"; // para efectos de debug // echo $err; // guardar en el registro de errores, y enviar un correo // electrónico si hay un error crítico de usuario error_log($err, 3, "/usr/local/php4/error.log"); if ($num_err == 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 esperan matrices", E_USER_ERROR); return NULL; } if (count($vect1) != count($vect2)) { trigger_error("Los vectores deben ser del mismo tamaño", E_USER_ERROR); return NULL; } for ($i=0; $i ]]>