Moduł Fatal

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Moduł Fatal.

Co to jest?

Moduł Fatal pozwala opakować daną funkcję w ten sposób, aby w przypadku błędnego zakończenia (wynikiem fałsz) wywoływała wyjątek zamiast zwracać wartość. Pozwala nam to bezpiecznie używać tych funkcji nie testując za każdym razem zwracanych przez nie wartości. Opakowywać możemy zarówno funkcje wbudowane jaki definiowane przez użytkownika. Aby opakować daną funkcję należy użyć polecenia:

use Fatal qw(open)

Użycie symbolu :void powoduje, że funkcje będą zwracać wyjątek tylko jeśli zostaną wywołane w kontekście pustym (to znaczy jeśli zignorujemy zwracaną wartość):

use Fatal(:void open)

Przykład użycia.

Załóżmy, że piszemy program w którym używamy danych zapisanych w plikach. Aby otworzyć plik musimy za każdym razem sprawdzać czy otwarcie się powiodło:

open(FH, "< filename") || die "nie udalo sie otworzyc pliku!";

Dzięki modułowi Fatal możemy opakować funkcję open aby automatycznie wyrzucała wyjątek gdy pliku nie da się otworzyć.

use Fatal qw(:void open close); #ponieważ użyliśmy symbolu :void wyjątek nie zostanie wyrzucony my $res = open(FH, "< filename"); if($res != 0) { print "Udalo sie otworzyc plik!"; close FH; } else { print "Nie udalo sie otworzyc pliku!"; } #to wywołanie funkcji open wyrzuci wyjątek open(FH, "< filename"); close FH;

Dokumentacja

Więcej na ten temat: http://search.cpan.org/~nwclark/perl-5.8.8/lib/Fatal.pm.

Kontakt i informacje o autorze opracowania

Autor: P.S.

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.