Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

PEAR::setErrorHandling

Estas en el tema de PEAR::setErrorHandling en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola, pasa que tengo este problema al definir en pear el error con un callback regresa el objeto, pero no encuentro donde regresa el archivo ...
  #1 (permalink)  
Antiguo 04/02/2007, 03:13
 
Fecha de Ingreso: septiembre-2005
Mensajes: 13
Antigüedad: 18 años, 7 meses
Puntos: 0
PEAR::setErrorHandling

hola, pasa que tengo este problema

al definir en pear el error con un callback regresa el objeto, pero no encuentro donde regresa el archivo y la linea exacta donde se genero la llamada que genero el error

he definido la funcion asi para capturar los errores

Código PHP:
    function onPearError($ErrorObj){
    
        
$Str  date("Y/M/d H:i:s")."\n";
        
$Str .= $ErrorObj->getDebugInfo()."\n";

        
error_log($Str,3,"./logs/errors.txt");

        die(
"System Error");
    }

    
// error handling
    
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK,"onPearError"); 

y obtengo salidas de este tipo

Código PHP:
2007/Feb/04 03:03:16
_doQuery
: [Error messageCould not execute statement]
[
Last executed queryselect from customers where id_customera 0]
[
Native code1054]
[
Native messageUnknown column 'id_customera' in 'where clause'

todo bien pero no logro sacar de aqui el __FILE__ y __LINE__

se que con getbacktrace obtendre toda la informacion del error con la lista de archivos y files donde se presentan las reacciones al error, pero en realidad me interesa unicamente tomar el file y el line del archivo inicial donde se genero el error y no la lista completa de todas las clases

digamoslo asi

introduction.php llama a las clases de pear....

mdb2.php
auth.php

mi intencion es que en el reporte de error solo aparezcan el file y line de introduction.php

busque algun metodo pero de plano no ecuentro alguno

de antemano gracias
  #2 (permalink)  
Antiguo 05/02/2007, 08:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: PEAR::setErrorHandling

Me la voy a jugar pero es posible que no tengas ningun tipo de error, es decir el error está en la consulta sql,
Código PHP:
select from customers where id_customera 
lo que te esta diciendo es que el campo id_customera no existe.

Deberias hacer 2 cosas:
  1. comprueba que exista el campo id_customera
  2. Comprueba la consulta sobre la base de datos que te debuelva resultados

Espero que te sirva de ayuda la verdad es que no soy un experto en PEAR. Ya nos diras algo
  #3 (permalink)  
Antiguo 05/02/2007, 13:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: PEAR::setErrorHandling

Que tal Casius,

yo creo el se refiere a un tema totalmente diferente jejeje.

Para scriptdog:

Las constantes __FILE__ y __LINE__ no estan disponibles en funciones callback, asi que vas a tener que usar debug_backtrace y sacar la informacion que necesites. Saludos.
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 11:21.