364 of 410 menu

Příkaz finally

Blok finally se používá společně s konstrukcemi try a catch pro zpracování výjimek. Kód uvnitř finally se vykoná v každém případě - jak při úspěšném provedení try-bloku, tak při vzniku výjimky.

Syntaxe

try { // Kód, který může vyvolat výjimku } catch (Exception $e) { // Zpracování výjimky } finally { // Kód, který se vykoná v každém případě }

Příklad

Příklad s úspěšným provedením kódu:

<?php try { $res = 10 / 2; echo "Výsledek: " . $res . "\n"; } catch (Exception $e) { echo "Výjimka: " . $e->getMessage() . "\n"; } finally { echo "Toto se vždy provede\n"; } ?>

Výsledek provedení kódu:

Výsledek: 5 Toto se vždy provede

Příklad

Příklad se zpracováním výjimky:

<?php try { $res = 10 / 0; echo "Výsledek: " . $res . "\n"; } catch (Exception $e) { echo "Výjimka: " . $e->getMessage() . "\n"; } finally { echo "Toto se vždy provede\n"; } ?>

Výsledek provedení kódu:

Výjimka: Division by zero Toto se vždy provede

Příklad

Použití finally pro uvolnění prostředků:

<?php $file = fopen("example.txt", "r"); try { // Práce se souborem if ($file) { echo "Soubor úspěšně otevřen\n"; } } catch (Exception $e) { echo "Výjimka: " . $e->getMessage() . "\n"; } finally { if ($file) { fclose($file); echo "Soubor uzavřen v bloku finally\n"; } } ?>

Výsledek provedení kódu:

Soubor úspěšně otevřen Soubor uzavřen v bloku finally

Viz také

  • konstrukci try,
    která se používá pro zpracování výjimek
  • třídu Exception,
    která je základní třídou pro všechny výjimky
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout