Excepciones propias de la lógica de negocio en PHP

RECU-0585 (Recurso Experiencia)

Introducción

Una clase de excepciones de usuario, puede ser definida extendiendo la clase de excepciones incorporada. Es una buena práctica extender la clase Exception con las excepciones más significativas del modelo de negocio.

Recomendaciones

Si una clase se extiende de la clase Exception, incorpora y redefine el constructor, es recomendado que también llame a parent::__construct() para asegurarse que todos los datos disponibles han sido asignados apropiadamente.

El método __toString() puede ser utilizado para proveer una salida personalizada cuando el objeto es presentado como una cadena. Un ejemplo sería el siguiente.

<?php
/**
 * Define a custom exception class
 */
class MyException extends Exception
{
    // Redefine el mensaje de la excepción
    public function __construct($message, $code = 0) {
        // some code
   
        // asegurar que hace todo lo que debe hacer
        parent::__construct($message, $code);
    }

    // Representación del objeto */
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }

    public function customFunction() {
        echo "A Custom function for this type of exception\n";
    }
}

Contenidos relacionados

Pautas
Área: Desarrollo » Seguridad » Gestión de Errores y Excepciones
Código Título Tipo Carácter
LIBP-0281 Tratamiento de excepciones Libro de pautas Directriz Obligatoria