364 of 410 menu

Comanda finally

Blocul finally este utilizat împreună cu construcțiile try și catch pentru gestionarea excepțiilor. Codul din interiorul lui finally se va executa în orice caz - atât la executarea cu succes a blocului try, cât și la apariția unei excepții.

Sintaxă

try { // Cod care poate provoca o excepție } catch (Exception $e) { // Gestionarea excepției } finally { // Cod care se va executa în orice caz }

Exemplu

Exemplu cu executare cu succes a codului:

<?php try { $res = 10 / 2; echo "Rezultat: " . $res . "\n"; } catch (Exception $e) { echo "Excepție: " . $e->getMessage() . "\n"; } finally { echo "Acesta se va executa întotdeauna\n"; } ?>

Rezultatul executării codului:

Rezultat: 5 Acesta se va executa întotdeauna

Exemplu

Exemplu cu gestionarea unei excepții:

<?php try { $res = 10 / 0; echo "Rezultat: " . $res . "\n"; } catch (Exception $e) { echo "Excepție: " . $e->getMessage() . "\n"; } finally { echo "Acesta se va executa întotdeauna\n"; } ?>

Rezultatul executării codului:

Excepție: Împărțire la zero Acesta se va executa întotdeauna

Exemplu

Utilizarea lui finally pentru eliberarea resurselor:

<?php $file = fopen("exemplu.txt", "r"); try { // Lucrul cu fișierul if ($file) { echo "Fișier deschis cu succes\n"; } } catch (Exception $e) { echo "Excepție: " . $e->getMessage() . "\n"; } finally { if ($file) { fclose($file); echo "Fișier închis în blocul finally\n"; } } ?>

Rezultatul executării codului:

Fișier deschis cu succes Fișier închis în blocul finally

Vezi și

  • constructia try,
    care este utilizată pentru gestionarea excepțiilor
  • clasa Exception,
    care este clasa de bază pentru toate excepțiile
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge