17.2. Generowanie wyjątków

Podziękowania dla Steve’a Arneila

Problem

W programie wystąpił błąd i program nie może kontynuować działania. Chcemy poinformować użytkownika o tym fakcie i obsłużyć zaistniały błąd w innej części programu.

Rozwiązanie

Można wygenerować wyjątek poprzez wywołanie metody Kernel#raise, do której należy przekazać opis błędu. Wywołanie metody raise przerywa działanie programu.

Poniższa metoda generuje wyjątek przy każdym jej wywołaniu. Jej drugi komunikat nigdy nie zostanie wyświetlony.

def raise_exception
  puts 'Przed zgłoszeniem wyjątku.'
  raise 'Wystąpił błąd.'
  puts 'Po zgłoszeniu wyjątku.'
end

raise_exception
# przed zgłoszeniem wyjątku.
# RuntimeError: Wystąpił błąd

Dyskusja

Poniżej zamieszczono metodę ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.