La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ECOM-6030 CAPÍTULO 7 EXCEPTION HANDLING Prof. Nelliud D. Torres © - Derechos Reservados.

Presentaciones similares


Presentación del tema: "ECOM-6030 CAPÍTULO 7 EXCEPTION HANDLING Prof. Nelliud D. Torres © - Derechos Reservados."— Transcripción de la presentación:

1 ECOM-6030 CAPÍTULO 7 EXCEPTION HANDLING Prof. Nelliud D. Torres © - Derechos Reservados

2 CONTENIDO Conceptos de Exception handling Estructuras de control del Exception (try…throw…catch) La clase Exception Excepciones definidas por el usuario Excepciones para Bob’s Auto Parts 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 2

3 CONCEPTOS DE EXCEPTION HANDLING La idea básica del manejo de excepciones es que el código se ejecuta dentro de lo que se conoce como un try block. EL formato del try block es: try { // el código va aquí } Cuando algo falla dentro del try block, se puede tener control de problema. Esto se llama throwing an exception. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 3 Pag. 191

4 CONCEPTOS DE EXCEPTION HANDLING – CONT. - 1 Algunos lenguajes como JAVA manejan las excepciones automáticamente. En PHP el programador tiene que manejarlas manualmente. Para capturar y manejar una excepción se utiliza el siguiente formato: throw new Exception(‘message’, code); El keyword throw activa el mecanismo de manejo de excepciones. Necesita pasársele un valor. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 4 Pag. 191 - 192

5 CONCEPTOS DE EXCEPTION HANDLING – CONT. - 2 Después del try block, hay que poner al menos un catch block. El formato es el siguiente: catch (typehint exception) { // Manejo de la excepción } Se puede tener más de un catch asociado a un try block. Esto es útil si se desea capturar más de un tipo de excepción. 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 5 Pag. 192

6 CONCEPTOS DE EXCEPTION HANDLING – CONT. - 3 A continuación se muestra un ejemplo del código en PHP: 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 6 Pag. 192

7 CONCEPTOS DE EXCEPTION HANDLING – CONT. - 4 Ejemplo de la corrida del código anterior: 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 7 Pag. 193

8 LA CLASE LLAMADA Exception PHP5 viene con una clase integrada (built-in) llamada Exception. Esta clase incluye los siguientes métodos: 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 8 Pag. 193

9 USER-DEFINED Exception En lugar de crear una instancia y pasarla a la clase Exception, uno puede pasar cualquier objeto que uno desee. También podemos crear sub-clases de esa clase. Esto nos puede ayudar en la depuración (debug) del código. El manual de PHP tiene un “esqueleto” de la clase Exception. El código que se muestra en el próximo slide se encuentra en la página http://www.php.net/zend-engine-2.php (Listing 7.2)http://www.php.net/zend-engine-2.php 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 9 Pag. 194

10 Exception Class Listing 7.2 Part - 1 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 10 Pag. 194

11 Exception Class Listing 7.2 Part - 2 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 11 Pag. 195

12 Exception Class Listing 7.2 Part - 3 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 12 Pag. 195 Si se fijan en el código anterior, muchos de los métodos son finales o sea que no se pueden modificar su comportamiento. Sin embargo se puede sobrepasar (override) la función __toString() para que uno le pueda poner el formato al mensaje de error que uno quiera. A continuación se muestra un ejemplo de una sub-clase de la clase Exception.

13 User-Define Exception Class Listing 7.3 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 13 Pag. 195 -196

14 Exception Class Listing 7.3 Corrida 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 14 Pag. 196

15 LABORATORIO 1 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 15 Correr y utilizar el código que trae el capítulo para manejar las excepciones que puedan ocurrir cuando se trabajan archivos. El código mejora el laboratorio del capítulo 2 en cuanto al manejo de errores producidos por archivos que no se encuentran y otros errores similares. Algunos errores que ocurren en el manejo de archivos son: Archivos que no pueden abrirse, un lock que no puede obtenerse, un archivo al que no se le puede escribir, etc. El listado del programa se puede bajar en la página del profesor y en el libro se encuentra impreso desde la página 197 hasta la 200. Pag. 197

16 REFERENCIAS PHP and MySQL Web Development, Third Edition, Luke Welling, and Laura Thomson http://www.easyphp.org/ http://www.php.net/zend-engine-2.php (Manual de PHP de Object Oriented en línea) http://www.php.net/zend-engine-2.php 8/12/2007 © - Derechos Reservados - Prof. Nelliud D. Torres 16


Descargar ppt "ECOM-6030 CAPÍTULO 7 EXCEPTION HANDLING Prof. Nelliud D. Torres © - Derechos Reservados."

Presentaciones similares


Anuncios Google