PEAR::setErrorHandling()

PEAR::setErrorHandling() – Fija el manejo de errores generados por paquetes de PEAR

Synopsis

require_once 'PEAR.php';

void PEAR::setErrorHandling ( integer $mode = = null , mixed $options = = null )

Description

setErrorHandling() puede ser invocado tanto como método estándar de un objeto ($obj->setErrorHandling) como un método estático (PEAR::setErrorHandling). Si es llamado estáticamente, PEAR::setErrorHandling() fija el modo de error por defecto para todos los objetos derivados de PEAR (comportamiento de gestión de errores global). Si es llamado como método de un objeto $obj->setErrorHandling() fija el modo de error por defecto sólo para ese objeto (comportamiento de gestión de errores local).

Parameter

  • integer $mode - una de las siguientes constantes

    • PEAR_ERROR_RETURN Si ocurre un error, un PEAR_Error error es devuelto por el método de generación de errores (normalmente raiseError().)

    • PEAR_ERROR_PRINT Como PEAR_ERROR_RETURN, pero se imprimirá un mensaje de error adicionalmente.

    • PEAR_ERROR_TRIGGER Como PEAR_ERROR_RETURN, pero la función interna de PHP trigger_error() será llamada en el constructor de PEAR_Error con el mensaje de error.

    • PEAR_ERROR_DIE El script terminará y un mensaje de error se imprimirá en la instanciación de PEAR_Error.

    • PEAR_ERROR_CALLBACK Si ocurre un error, el callback pasado a $options es llamado.

    • PEAR_ERROR_EXCEPTION Si está presente Zend Engine 2, se generará una excepción usando el objeto PEAR_Error.

  • mixed $options - el valor para $options depende de $mode

    • PEAR_ERROR_PRINT y PEAR_ERROR_DIE soportan una cadena de formato opcional printf() empleada para imprimir el mensaje de error. Esta cadena debería contener un sólo %s, que se empleará para insertar elmensaje de error en la cadena. Usa la cadena para agrupar el mensaje de error con otra información de utilidad no incluida en el prefijo del mensaje de error o en el propio mensaje.

    • PEAR_ERROR_TRIGGER requiere una constante de error de nivel deusuario empleada por trigger_error() (posible constantes: E_USER_NOTICE, E_USER_WARNING o E_USER_ERROR). Notar que si la constante de error no está entre una de las válidas, una alerta de PHP será lanzada.

    • PEAR_ERROR_CALLBACK El callback debe ser el nombre de una fución con el formato descrito en la sección Pseudo-Type del manual de PHP (bien una cadena, bien un array). El callback debe aceptar un único parámetro, el objeto PEAR_Error generado por una condición de error. Notar que si el callback no es válido, se lanzará una alerta de PHP.

Aquí hay un ejemplo de varios modos de empleo de setErrorHandling:

<?php
require_once 'PEAR.php';
// te&oacute;rica constante de error para este ejemplo
define('MYCLASS_ERROR_CODE'1);

// demostraci&oacute;n de gesti&oacute;n de errores global
// en este caso, todos los Errores PEAR lanzar&aacute;n una alerta de PHP
PEAR::setErrorHandling(PEAR_ERROR_TRIGGERE_USER_WARNING);
// Notar que el archivo y el n&uacute;mero de l&iacute;nea van a esta ren el constructor de PEAR_Error
// en PEAR.php
PEAR::raiseError('test warning'MYCLASS_ERROR_CODE);

// este error especifica un modo, y sobreescribe el manejo de errores global por defecto
$e PEAR::raiseError('return only'MYCLASS_ERROR_CODEPEAR_ERROR_RETURN);

PEAR::setErrorHandling(PEAR_ERROR_PRINT"Gronk error: %s<br />\n");

// imprimir&aacute; "Gronk error: test warning<br />\n"
PEAR::raiseError('test warning'MYCLASS_ERROR_CODE);

/**
 * Falsa clase para demostrar el manejo de errores
 * @package myClass
 */
class myClass extends PEAR {
    
/**
     * Demonstraci&oacute;n de gesti&oacute;n de errores local por defecto
     */
    
function myClass()
    {
        
// m&eacute;todo callback del objeto
        
$this->setErrorHandling(PEAR_ERROR_CALLBACK, array(&$this'handleErr'));
        
// imprimir&aacute; "custom handler...is working"
        
PEAR::raiseError('custom handler'MYCLASS_ERROR_CODE);
        
// m&eacute;todo callback de clase est&aacute;tica
        
$this->setErrorHandling(PEAR_ERROR_CALLBACK,
            array(
'myClass''handleErrStatic'));
        
PEAR::raiseError('custom handler'MYCLASS_ERROR_CODE);
        
// funci&oacute;n callback
        
$this->setErrorHandling(PEAR_ERROR_CALLBACK'standardCallback');
        
PEAR::raiseError('custom handler'MYCLASS_ERROR_CODE);
    }

    
/**
     * Callback fijado por el constructor
     * @param PEAR_Error El objeto de error
     */
    
function handleErr($error)
    {
        
$this->lastError $error->getMessage();
        print 
$error->getMessage() . "...is working\n";
    }

    
/**
     * Callback est&aacute;tico fijado por el constructor
     *
     * Notar que en PHP 5, $this no se fija si el m&eacute;todo es declarado con
     * el modificador de acceso "static".  En PHP 4, $this es fijado, pero no
     * al objeto myClass, por tanto &iexcl;no lo uses!
     * @param PEAR_Error El objeto de error
     * @static
     */
    
function handleErrStatic($error)
    {
        print 
'static ' $error->getMessage() . "...is working\n";
    }
}

/**
 * @param PEAR_Error El objeto de error
 */
function standardCallback($error)
{
    print 
'normal function callback: ' $error->getMessage();
}
// Esto causa la impresi&oacute;n de tres mensajes por parte de los callbacks de error:
// "custom handler...is working"
// "static custom handler... is working"
// "normal function callback: custom handler"
$mine = new myClass;

PEAR::setErrorHandling(PEAR_ERROR_DIE);
// termina el script con el mensaje de error "oops"
PEAR::raiseError('oops'MYCLASS_ERROR_CODE);
?>
Crea un nuevo objeto PEAR_Error y opcionalmente especifica instrucciones para manejo de errores (Previous) añade un código de error para no deshabilitar la gestión de error temporalmente (Next)
Last updated: Sat, 25 Oct 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.