Ruby/Przetwarzanie wyjątków: ensure: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Nie podano opisu zmian |
Szymon wro (dyskusja | edycje) |
||
Linia 1:
== Przetwarzanie wyjątków: ensure ==
Może się tak zdarzyć, że potrzebne jest dodatkowe sprzątanie, gdy metoda kończy swoją pracę. Być może otwarty plik powinien być zamknięty, bufor opróżniony, itp. Jeżeli byłby zawsze tylko jeden punkt wyjścia dla każdej metody, moglibyśmy z pełną ufnością
<pre>
begin
# ...
end
</pre>
Linia 15:
<pre>
begin
# ...
rescue
fail #
end
</pre>
Ten kod nie dość, że niezdarny,
Z tego powodu dodamy nowe słowo kluczowe do naszego schematu "<tt>begin...rescue...end</tt>", którym jest <tt>ensure</tt>. Blok <tt>ensure</tt> wykonuje się niezależnie od pomyślnego lub niepomyślnego zakończenia bloku <tt>begin</tt>.
Linia 30:
<pre>
begin
# ...
rescue
# ...
ensure
end
</pre>
|