Obsługa błędów za pomocą begin i rescue
Proszę zapobiegać awariom, przechwytując i obsługując błędy za pomocą wyjątków.
Obsługa błędów za pomocą begin i rescue to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ruby Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ruby Academy zawiera 3 lekcji w sumie.
Obsługa błędów za pomocą begin i rescue
Obsługa błędów za pomocą begin i rescue
Błędy są nieuniknione w programowaniu, ale Ruby udostępnia mechanizmy pozwalające obsługiwać je w kontrolowany sposób.
W tej lekcji nauczysz się używać begin i rescue do przechwytywania i obsługi wyjątków.

Korzystanie z begin i rescue
Korzystanie z begin i rescue
Użyj begin i rescue, aby przechwytywać i obsługiwać błędy.
begin
puts 10 / 0
rescue ZeroDivisionError
puts 'Cannot divide by zero!'
endObsługa wielu typów błędów
Obsługa wielu typów błędów
Różne typy błędów można przechwytywać za pomocą wielu bloków rescue.
begin
num = Integer('hello')
rescue ZeroDivisionError
puts 'Cannot divide by zero!'
rescue ArgumentError
puts 'Invalid number format!'
endUzyskiwanie dostępu do obiektu wyjątku
Uzyskiwanie dostępu do obiektu wyjątku
Użyj rescue => e, aby uzyskać dostęp do obiektu wyjątku.
begin
puts 10 / 0
rescue ZeroDivisionError => e
puts "Error: #{e.message}"
endKorzystanie z ensure
Korzystanie z ensure
Blok ensure jest zawsze wykonywany, niezależnie od tego, czy wystąpił wyjątek.
begin
puts 10 / 0
rescue ZeroDivisionError
puts 'Cannot divide by zero!'
ensure
puts 'This code runs no matter what.'
endKorzystanie z retry
Korzystanie z retry
Słowo kluczowe retry ponownie uruchamia blok begin od początku.
attempt = 0
begin
attempt += 1
puts 10 / 0
rescue ZeroDivisionError
puts 'Attempting again...'
retry if attempt < 2
endRejestrowanie błędów
Rejestrowanie błędów
Rejestruj błędy w pliku zamiast wyświetlać je użytkownikowi.
begin
puts 10 / 0
rescue ZeroDivisionError => e
File.open('error.log', 'a') { |f| f.puts e.message }
endWyświetlanie niestandardowych komunikatów o błędach
Wyświetlanie niestandardowych komunikatów o błędach
Udostępniaj przyjazne dla użytkownika komunikaty o błędach zamiast surowych wyjątków.
begin
num = Integer('hello')
rescue ArgumentError
puts 'Oops! That was not a valid number.'
endGratulacje!
Gratulacje!
Nauczyłeś się obsługiwać błędy za pomocą begin i rescue.
Następnie poznasz sposób zgłaszania i dostosowywania wyjątków.

Często zadawane pytania
Czy lekcja „Obsługa błędów za pomocą begin i rescue” jest bezpłatna?
Tak — pełny tekst „Obsługa błędów za pomocą begin i rescue” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ruby Academy, przejdź na CoddyKit PRO. Kurs Ruby Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Obsługa błędów za pomocą begin i rescue”?
Proszę zapobiegać awariom, przechwytując i obsługując błędy za pomocą wyjątków. Ćwiczysz Ruby Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ruby Academy?
Nie wymagamy żadnego doświadczenia. Ruby Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.
Ile czasu zajmuje lekcja „Obsługa błędów za pomocą begin i rescue”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ruby Academy?
Tak. Każda lekcja Ruby Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Obsługa błędów za pomocą begin i rescue
- Zgłaszanie i dostosowywanie wyjątków
- Techniki debugowania