Menu
Coddy logo textTech

Crear una excepción personalizada

Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 56 de 68.

Si bien la clase integrada Exception de PHP funciona bien para el manejo general de errores, crear tus propias clases de excepción personalizadas proporciona mensajes de error mucho más específicos y significativos. Las excepciones personalizadas te ayudan a distinguir entre diferentes tipos de problemas en tu código y a manejarlos de manera adecuada.

Para crear una excepción personalizada, extiendes la clase base Exception de PHP usando la palabra clave extends. Esta herencia le otorga a tu excepción personalizada toda la funcionalidad de la excepción estándar, al tiempo que te permite añadir tu propio comportamiento específico o simplemente proporcionar un nombre más descriptivo.

<?php
class InvalidEmailException extends Exception {
    // La clase puede estar vacía - hereda todo de Exception
}

// También puedes añadir propiedades o métodos personalizados
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

El poder de las excepciones personalizadas reside en sus nombres descriptivos y en la capacidad de capturar tipos de excepciones específicos. En lugar de capturar una Exception genérica, puedes capturar InvalidEmailException, DatabaseConnectionException o cualquier otra excepción personalizada que crees. Esto hace que el manejo de errores sea más preciso y que tu código sea más fácil de mantener.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

challenge icon

Desafío

Fácil

Recibirás una entrada: una cadena que representa el nombre de una clase de excepción. Esta entrada será una sola palabra que debe usarse como el nombre para tu clase de excepción personalizada (ejemplo: NegativeBalanceException o InvalidUsernameException).

Lee la entrada y crea una clase de excepción personalizada utilizando el nombre proporcionado. Tu clase de excepción personalizada debe extender la clase base Exception de PHP. Después de crear la clase, imprime "Custom exception created: " seguido del nombre de la clase que recibiste como entrada.

Formato de entrada: Una línea que contiene una cadena que representa el nombre de la clase de excepción (ejemplo: InvalidAgeException)

Salida esperada: Custom exception created: seguido del nombre de la clase de excepción

Hoja de referencia

Para crear excepciones personalizadas en PHP, extienda la clase base Exception utilizando la palabra clave extends:

<?php
class InvalidEmailException extends Exception {
    // La clase puede estar vacía - hereda todo de Exception
}

// También puede añadir propiedades o métodos personalizados
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

Las excepciones personalizadas proporcionan mensajes de error más específicos y significativos, lo que le permite capturar tipos de excepciones específicos en lugar de objetos Exception genéricos. Esto hace que el manejo de errores sea más preciso y el código más mantenible.

Pruébalo tú mismo

<?php
// Leer el nombre de la clase de excepción
$className = trim(fgets(STDIN));

// TODO: Escribe tu código a continuación para crear la clase de excepción personalizada


// Mostrar el resultado
echo "Custom exception created: " . $className;
?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo