Se encuentra en:
Excepciones propias de la lógica de negocio en PHP
RECU-0585 (Recurso Experiencia)
- Área: Gestión de Errores y Excepciones
- Carácter del recurso: Recomendado
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
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0281 | Tratamiento de excepciones | Libro de pautas | Directriz | Obligatoria |