| Curso de PHP y MySQL José Gómez Castaño |
| Excepciones Como en otros lenguajes, se pueden crear estructuras que permitan capturar un error en tiempo de ejecución y proceder en función del error producido. Las excepciones son un medio para controlar los errores producidos durante la ejecución de la apalicación. Durante la captura de una excepción hay un bloque de código que se intenta ejecutar, dentro de la sentencia try. En caso de producirse un error, este es capturado dentro de la cláusula catch, y se ejecutará el bloque de código especificado. Si pudieran producirse errores por diferentes causas, se pueden especificar varios bloques catch. El tipo de excepción está descrita en el API que acompaña a cada función. Si no se conoce, se puede capturar la llamada Exception, la excepción general, que contendrá la información del error producido. Además de producirse por la ejecuación del programa, una excepción puede ser lanzada. Esto consiste en provocar la excepción cuando se den las condiciones que quiera el programador. Dentro del bloque try evaluaremos alguna condición, y si esta no se cumple, se lazará. Para lanzar una excepción ejecutaremos el siguiente código.
<?php
try {
// definimos el mensaje de error que aparece en la excepcion
$error = 'Error lanzado desde una excepcion';
// lanzamos la excepcion
throw new Exception($error);
} catch (Exception $e) {
echo 'Se ha capturado la excepcion: ', $e->getMessage(), "\n";
}
?>
Si no se ha capturado correctamente una execpción, se devuelve un error fatal. Por este motivo es necesario tener en cuenta todas las excepciones posibles, o crear una excepción general que se define en la función set_exception_handler().
<?php
function gestor_excepciones($excepcion) {
echo "Excepcion no capturada: " , $excepcion->getMessage(), "\n";
}
set_exception_handler('gestor_excepciones');
throw new Exception('Excepcion No Capturada');
echo "No es ejecutado\n";
?>
Después de crear el formulario, creamos nuestro script. En él recogemos las variables que nos llegan en el array asociativo $_POST y se lo pasamos a los argumentos que espera la función mail. Estos son la dirección de correo de destino, el asunto y el texto. Para capturar los posibles errores aprovechamos que esta función nos devolverá ture, si ha ido bien y false en caso contrario. |

Curso PHP y MySQL by José Gómez Castaño is licensed under a Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 España License.
Based on a work at www.meridi.es/cursos/php.