www.digitever.net www.digitever.net

Manejo de errores

Manejadores de errores

=')) date_default_timezone_set('America/Mexico_City'); // Formato para bitacora $error = date('j/n/Y G:i:s') . '\t$errorTipo\t$errorDescripcion\t$errorArchivo\t$errorLinea\r\n'; switch($errorTipo) { case E_USER_NOTICE: case E_NOTICE: /* Avisos Actividades que podriamos hacer aqui. * Guardar en bitacora * Omitir avisos */ break; case E_USER_WARNING: case E_WARNING: /* Problemas no tan graves Actividades que podriamos hacer aqui. * Guardar en bitacora * Omitir avisos */ break; case E_USER_ERROR: case E_ERROR: /* Errores graves Actividades que podriamos hacer aqui. * Obtener informacion detallada del contexto * Guardar en bitacora * Enviar por email * Desplegar aviso para comunicarse con el HelpDesk */ foreach ($errorContexto as $campo => $valor) { if (is_array($valor) && count($valor) > 0) $valor = @implode(',',$campo); $error .= "$campo = $valor\r\n"; } $error .= '\r\n\r\n'; break; } echo "
$error
"; } // Definir manejador de errores set_error_handler('manejaError'); // Provocar errores echo '
Tipo de error E_NOTICE : Utilizar variable no definida
'; echo $noExiste; echo '
Tipo de error E_USER_NOTICE : Utilizar variable no definida
'; if (! isset($noExiste)) trigger_error('$noExiste no esta definida', E_USER_NOTICE); echo '
Tipo de error E_WARNING : Abrir un archivo que no existe
'; $archivo = @fopen('documento.zip','r'); if ($archivo) echo 'Se pudo abrir el archivo'; echo '
Tipo de error E_USER_WARNING : division entre cero
'; $variable = 0; if ($variable == 0) trigger_error('$variable no puede ser cero', E_USER_WARNING); else echo 'Resultado : ' . (10/$variable); echo '
Tipo de error E_USER_ERROR : Condicion grave detectada
'; $conectadosABaseDatos = false; if (! $conectadosABaseDatos) trigger_error('No se establecio conexion con la base de datos.', E_USER_ERROR); //echo '
Tipo de error E_ERROR : ???
'; ?>