364 of 410 menu

Instrukcja finally

Blok finally jest używany razem z konstrukcjami try i catch do obsługi wyjątków. Kod wewnątrz finally wykona się w każdym przypadku - zarówno przy pomyślnym wykonaniu bloku try, jak i przy wystąpieniu wyjątku.

Składnia

try { // Kod, który może wywołać wyjątek } catch (Exception $e) { // Obsługa wyjątku } finally { // Kod, który wykona się w każdym przypadku }

Przykład

Przykład z pomyślnym wykonaniem kodu:

<?php try { $res = 10 / 2; echo "Wynik: " . $res . "\n"; } catch (Exception $e) { echo "Wyjątek: " . $e->getMessage() . "\n"; } finally { echo "To wykona się zawsze\n"; } ?>

Wynik wykonania kodu:

Wynik: 5 To wykona się zawsze

Przykład

Przykład z obsługą wyjątku:

<?php try { $res = 10 / 0; echo "Wynik: " . $res . "\n"; } catch (Exception $e) { echo "Wyjątek: " . $e->getMessage() . "\n"; } finally { echo "To wykona się zawsze\n"; } ?>

Wynik wykonania kodu:

Wyjątek: Division by zero To wykona się zawsze

Przykład

Użycie finally do zwolnienia zasobów:

<?php $file = fopen("example.txt", "r"); try { // Praca z plikiem if ($file) { echo "Plik otwarty pomyślnie\n"; } } catch (Exception $e) { echo "Wyjątek: " . $e->getMessage() . "\n"; } finally { if ($file) { fclose($file); echo "Plik zamknięty w bloku finally\n"; } } ?>

Wynik wykonania kodu:

Plik otwarty pomyślnie Plik zamknięty w bloku finally

Zobacz też

  • konstrukcję try,
    która jest używana do obsługi wyjątków
  • klasę Exception,
    która jest klasą bazową dla wszystkich wyjątków
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć