Excepciones en PHP Parte II

Sep 15, 2008 Comments Off by

En la entrega anterior vimos de manera sencilla qué son y cómo funcionan las Excepciones en PHP 5. En esta ocasión veremos ejemplos semi-reales y repasaremos algunos detalles que debemos tener en cuenta a la hora de usar excepciones.

Las excepciones no te salvan

Si estás pensando que las excepciones te salvarán tus errores, ni lo intentes. El uso de excepciones no solventa los errores de programación, eso sácalo de tu mente.

Las excepciones se utilizan para solventar errores en tiempo de ejecución, es decir, cualquier intento fallido lo manejas con excepciones para mostrarle un mensaje bonito al usuario final.

Ejemplo

Este código intenta abrir un archivo, en caso que no exista se tirará la excepción, de lo contrario mostrará un mensaje que muestre que el archivo se abrió correctamente.

<?php

	try
	{
		if( ! fopen( "miarchivo.php",'r' ) )
		{
			 throw new Exception('Error al abrir el archivo.');
		}

		echo "El archivo fue abierto correctamente.";
               // ...Código para trabajar con el archivo....

	}
	catch (Exception $e)
	{
		echo $e->getMessage(), "\n";
	}

?>

Si el archivo no existe o si ocurrió un error al intentar abrirlo, el mensaje que mostrarí­a PHP sin el manejo de excepciones serí­a el siguiente:

Warning: fopen(miarchivo.php) [function.fopen]: failed to open stream: No such file or directory in path\exception.php on line 5

En cambio, con el manejo de excepciones el Script mostrará el siguiente error:

Error al abrir el archivo, es posible que no exista.

Claro, PHP siempre mostrará sus mensajes de error, mientras no se le indique lo contrario, es decir, además de tu mensaje personalizado también aparecerá el mensaje de error generado por PHP.

De hecho, es recomendable desactivar los mensajes de error del PHP una vez que el software ya esté en manos del usuario final (por motivos de seguridad más que por estética).

El ejemplo es sencillo y es utilizable en cualquier caso de uso real, así­ que espero que les sirva de algo.

Entradas relacionadas

Excepciones en PHP Parte I

Si tienes alguna duda sobre PHP o igual te interesa el tema y deseas conocer gente del medio, puedes contactarnos en irc desde el servidor: 69.64.59.193 en el canal #php.

Share and Enjoy:
  • Print
  • email
  • PDF
  • del.icio.us
  • Facebook
  • Digg
  • Slashdot
  • Twitter
  • Technorati
  • LinkedIn
  • Netvibes
  • StumbleUpon
  • Meneame
  • Google Bookmarks
  • BarraPunto
Start Slide Show with PicLens Lite PicLens
PHP, Programación, Web Development

About the author

The author didnt add any Information to his profile yet
Comments are closed.