PHP Control de erros

De MediaWiki
Ir a la navegación Ir a la búsqueda
  • Durante o desenvolvemento da aplicación imos atoparnos coa necesidade de controlar os erros que poidan darse nas chamadas ás diferentes funcións.
Isto pode levar a programar cunha estrutura de if - else moi 'anidada', que faga que o código sexa pouco lexible.
Podemos facer uso delas a partires da versión 5 de PHP.
  • A idea é moi simple: En caso de erro imos 'capturar' ou 'lanzar' unha excepción.
Unha excepción é un tipo de erro que pode darse na execución de programas. Normalmente son erros non controlados por nos nas liñas de programación, pero tamén podemos 'provocar' unha excepción enviando un texto e un código.


  • AVISO: Indicar que no caso de PHP 'tradicional' as funcións PHP non 'lanzan' excepcións, se non que 'avisan' con warnings, errors,...dependendo do nivel de erro a amosar, o cal está indicado na directiva display_error de php.ini.


A sintaxe é moi sinxela:

1 try {
2 
3   // Sentenzas a controlar
4 
5 }
6 catch (Excepcion $e){
7   // Sentenzas a executar en caso de lanzarse a excepción
8 
9 }
  • Liña 6: O obxecto $e pertence á clase Excepcion e dispón entre as súas propiedades e métodos:
  • $e->getMessage(); // Devolve a mensaxe da excepción
  • $e->getCode(); // Devolve o código da excepción
  • Cando se produce a excepción, o control do programa vai a sección catch, deixando de executarse o resto de liñas do programa dentro da sección try.


  • A partires da versión PHP 5.5 podemos incorporar outra sección: finally.
Dita sección execútase sempre, haia ou non unha excepción e ao final de todo, despois de executar a última sentenza controlada ou despois de executar a sección catch se houbo unha excepción.
 1 try {
 2 
 3   // Sentenzas a controlar
 4 
 5 }
 6 catch (Excepcion $e){
 7   // Sentenzas a executar en caso de lanzarse a excepción
 8 
 9 }
10 finally{
11   // Sentenzas que sempre se executan
12 }








-- Ángel D. Fernández González -- (2016).