364 of 410 menu

La sentencia finally

El bloque finally se utiliza junto con las construcciones try y catch para el manejo de excepciones. El código dentro de finally se ejecutará en cualquier caso - tanto si el bloque try se ejecuta con éxito como si se produce una excepción.

Sintaxis

try { // Código que puede causar una excepción } catch (Exception $e) { // Manejo de la excepción } finally { // Código que se ejecutará en cualquier caso }

Ejemplo

Ejemplo con ejecución exitosa del código:

<?php try { $res = 10 / 2; echo "Resultado: " . $res . "\n"; } catch (Exception $e) { echo "Excepción: " . $e->getMessage() . "\n"; } finally { echo "Esto se ejecutará siempre\n"; } ?>

Resultado de la ejecución del código:

Resultado: 5 Esto se ejecutará siempre

Ejemplo

Ejemplo con manejo de excepción:

<?php try { $res = 10 / 0; echo "Resultado: " . $res . "\n"; } catch (Exception $e) { echo "Excepción: " . $e->getMessage() . "\n"; } finally { echo "Esto se ejecutará siempre\n"; } ?>

Resultado de la ejecución del código:

Excepción: División por cero Esto se ejecutará siempre

Ejemplo

Uso de finally para liberar recursos:

<?php $file = fopen("example.txt", "r"); try { // Trabajo con el archivo if ($file) { echo "Archivo abierto exitosamente\n"; } } catch (Exception $e) { echo "Excepción: " . $e->getMessage() . "\n"; } finally { if ($file) { fclose($file); echo "Archivo cerrado en el bloque finally\n"; } } ?>

Resultado de la ejecución del código:

Archivo abierto exitosamente Archivo cerrado en el bloque finally

Ver también

  • la construcción try,
    que se utiliza para el manejo de excepciones
  • la clase Exception,
    que es la clase base para todas las excepciones
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar