En la octava clase del curso de OOP hablamos de errores. Todos cometemos, y los programadores más. ¿Cómo gestionarlos y lidiar con ellos? ¡Vamos allá!
8.1 - Error reporting en OOP
Empecemos por lo más básico. El error reporting. Seguramente que en muchas ocasiones hemos visto esos horribles avisos, warnings, notices y errores en una web. Incluso un "fatal error".
Bien, pues vamos a ver cómo convertirlos en "nuestros amigos", usándolos para bien, para qué nos pueden servir, cómo desactivarlos, y cuándo deberíamos hacerlo. ¡Empecemos!
Como podéis ver, entender cómo funciona la gestión de errores no es sólo importante porque "queda muy mal" ver un error, sino también por temas de seguridad. Ya habéis visto cómo en la mayoría de ocasiones un error da "demasiada información".
Así pues, es importante ver la diferencia entre noticias, errores, errores fatales, errores de parseado o sintaxis y cómo reaccionan cuándo se generan con objetos, variables y funciones, y qué ocurre cuando estamos en modo desarrollo y en modo producción.
8.2 - Excepciones
Bien, pues ahora que ya sabemos gestionar los errores que cometemos, ¿Qué os parece si creamos los nuestros propios? Bienvenidos al mundo de las excepciones.
En ocasiones hay lo que denominamos "errores" que no son un error como tal, hasta que nosotros lo decidimos así. Por ejemplo, si en un formulario no se rellena un campo obligatorio, nos saldrá un mensaje del estilo "Error: Debes rellenar tal dato".
¿Son realmente errores? ¿No lo son? ¿Qué tiene que ver todo esto con los objetos? Una imagen vale más que mil palabras, y un vídeo más que mil imágenes. ¡Vamos a verlo!
¿Os dais cuenta? El hecho que estas excepciones nos sean devueltas como un objeto hace que podamos trabajar muchisimo mejor con ellas. Ya no se trata de un simple aviso que nos dice que en una línea hay un error, sino que podemos capturar cualquier excepción, e incluso crear un registro con todas ellas, pero además, con toda la potencia de los objetos.
Cierto es que este segundo vídeo es más avanzado, pero es necesario que sepáis lo que es y como funciona, porque habrá un momento (siempre lo hay) en el que vais a necesitar crear una excepción. Llegado ese día, os acordaréis de este vídeo, y sabréis perfectamente cómo proceder. Además será algo que trabajaremos mucho más en cursos avanzados de OOP y PHP7. O sea que nos servirá de aperitivo.
Así pues, la tarea del día es muy simple. Activar el error reporting y ver cómo se comporta nuestra web con:
- Errores de objetos
- Errores de funciones
- Errores de variables
Importante valorar cuánta información está revelando cada tipo de error, comprobar si se sigue ejecutando el código, y decidir en cada caso si es mejor estar en prueba o producción. Y para los más atrevidos, os retamos a crear una excepción y mostrar el objeto en pantalla. :)
¡Y con esto zanjamos la clase de hoy! Esperamos que os haya gustado. Nos vemos en la siguiente, en la que haremos un repaso muy interesante para asimilar conceptos y dejarlo todo bien ligado antes de dar el último gran paso: MySQLi. ¡Hasta entonces!
Todos los capítulos de este curso:
- Curso de OOP #1: ¿Qué es la programación orientada a objetos?
- Curso de OOP #2: Creando nuestro primer objeto
- Curso de OOP #3: Constructores y destructores
- Curso de OOP #4: Uso de Public y Private
- Curso de OOP #5: Herencias y extensiones
- Curso de OOP #6: JSON
- Curso de OOP #7: Seguridad
- Curso de OOP #8: Gestor de errores
- Curso de OOP #9: Repaso desde cero
- Curso de OOP #10: MySQLi