Foros del Web » Programando para Internet » PHP »

Algoritmo Gestion de Errores

Estas en el tema de Algoritmo Gestion de Errores en el foro de PHP en Foros del Web. Holas. Tengo un pequeño problema con un algoritmo para la gestion de los errores de mis scripts.(usando set_error_handler()) Lo explico mejor con código: Código PHP: ...
  #1 (permalink)  
Antiguo 20/08/2005, 16:33
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 12 años, 3 meses
Puntos: 0
Exclamación Algoritmo Gestion de Errores

Holas.

Tengo un pequeño problema con un algoritmo para la gestion de los errores de mis scripts.(usando set_error_handler())

Lo explico mejor con código:
Código PHP:
<?php
//esto es un archivo de ejemplo
function GertorErrores($numero$texto)
{
    static 
$lugar=0;
    
$_SESSION['errores'][$lugar] = $numero.':::'.$texto;
    
$lugar++;
}
session_start();
error_reporting(E_WARNING);
set_error_handler("GestorErrores");
/**
 * La función set_error_handler() sirve para
 * controlar de algún modo la salida de errores.
 * Osea, los errores que se produzcan en este
 * archivo serán almacenados en una variable de
 * sesión. Luego en otro archivo(error.php) los
 * muestro mediante un explode() y un bucle for();
 **/

//Lanzo un error queriendo
trigger_error("Error de mentira(como si fuera de verdad xD)"E_USER_WARNING);
// Ahoramismo set_error_handler() ha "llamado" ha GestorErrores()
// y ha almacenado el error en $_SESSION['errores'][0];

//Ahora lanzo otro error
trigger_error("Este es el segundo error(como si fuera de verdad xD)"E_USER_ERROR);
// Pasa lo mismo que antes pero se almazena en la siguiente posición
// del array($_SESSION['errores'][1];)
?>
Cada vez que se produce un error GestorErrores() vuelve a ejecutarse. Hasta ahora bien...

Lo que yo quiero hacer es que al almacenarse el ÚLTIMO error de la página se ejecute una sentencia(en mi caso redirrecionar mediante una función ya definida por mi).
Lo lógico sería que eso lo comprobara GestorErrores() pero claro...no se como averiguar cuando se produce el último error y tampoco conozco ninguna función que me ayude para esto.
Mi imaginación me dice:
Código PHP:
<?php
function GestorErrores($numero$texto)
{
    static 
$lugar=0;
    
$_SESSION['errores'][$lugar] = $numero.':::'.$texto;
    
$lugar++;
    
when(ultimo_almazenado)
    {
        
//redirreciono a error.php
    
}
    
//a más no llego xDDD
}
?>
Por eso decido preguntar para que vuestra mentes privilegiadas me echen una mano ;))

Todas las preguntas que hago son muy largas, sry, pero esque me gusta dejar las cosas claras :)
  #2 (permalink)  
Antiguo 22/08/2005, 06:09
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 12 años, 3 meses
Puntos: 0
Revivo éste post para dar la solución(que se me ocurrió mientras me acostaba xD). Como estoy un poco gilipollas quería complicarlo mucho más de lo que es :)

Código PHP:
<?php
//...
if($_SESSION['errores'])
    
redirect("error.php");
//...
?>
Solo tengo que añadir eso al final de la página xD.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:01.