Wyjątki Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
poniedziałek, 26 lipca 2010 18:13

Mechanizm wyjątków pozwala na uniknięcie sytuacji, w których trzeba było tworzyć setki kodów błędów, a następnie za każdym razem sprawdzać, jaki kod został zwrocony przez funkcję. Dodatkowo - rzucony wyjątek można przechwycić i obsłużyć. O tym, jak się to robi przeczytasz dalej.

 

Rzucanie wyjątków

Aby rzucić wyjątek starczy użyć operator throw.

throw new Exception('To jest treść wyjątku');
echo 'tego tekstu już nie wyświetli';


	

W wyniku działania takiego kodu otrzymamy na ekranie:

<b>Fatal error</b>: Uncaught exception 'Exception' with message 'To jest treść wyjątku' in C:\wamp\www\localhost\a.php:3 Stack trace: #0 {main} thrown in <b>C:\wamp\www\localhost\a.php</b> on line <b>3</b>

Oczywiście treścią może być np. "Nie ma pliku". Jako parametr do konstruktora klasy Exception przekazujemy ciąg znaków. Dowolny. Jeśli nie przechwycimy wyjątku powoduje on zakończenie działania skryptu.

 

Przechwytywanie wyjątków

Do przechwytywania wyjątków służy konstrukcja try-catch:

try
{
    throw new Exception('To jest treść wyjątku.');
    echo 'ten tekst nie zostanie wyswietlony';
}
catch(Exception $e)
{
    echo $e->getMessage();
}
echo 'ten napis zostanie wyswietlony';

	

Powyższy kod wypisze na ekran:

To jest treść wyjątku.ten napis zostanie wyswietlony

Jak widać, przechwycony wyjątek nie kończy działania skryptu. Pozwala obsłużyć zaistniały wyjątek w bloku `catch' i działać dalej.
 

Proszę potraktować ten artykuł jako wstęp do wyjątków. Niedługo mam zamiar napisać więcej.