Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2005, 15:33
$thisone
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 18 años, 8 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 :)