0Pricing
Mojo Academy · Lekcja

Zgłaszanie błędu

Zasygnalizuj, że coś poszło nie tak.

Zgłaszanie błędu to bezpłatna lekcja Mojo Academy na CoddyKit. To lekcja 1 z 4. 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 Mojo Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Mojo Academy zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

When Things Go Wrong

Sometimes a function hits a situation it cannot handle, like a missing file or bad input. Mojo lets you signal that with an error. ⚠️

The raise Keyword

To signal a failure, you use the raise keyword. It stops the current work and reports that something went wrong.

raise Error("something went wrong")

Errors Carry a Message

When you raise, you pass a short message describing the problem. Whoever handles the error can read that text.

raise Error("file not found")

Raising Inside a Function

A function can raise when its input is invalid. Here a negative amount is rejected before any further work happens.

fn withdraw(amount: Int) raises:
    if amount < 0:
        raise Error("amount must be positive")

Raising Stops Execution

Once raise runs, the rest of the function is skipped. Control jumps out, looking for code that can deal with the error.

Why Not Just Return -1?

Returning a magic value like -1 is easy to ignore. An error cannot be silently skipped, making failures far harder to miss.

Errors Travel Up

An unhandled error keeps moving up through the callers until something catches it. This is called propagation.

Guarding Your Inputs

Raising early on bad input is a clean habit. Check the values first, then raise before the real logic ever runs.

if name == "":
    raise Error("name is required")

One Clear Reason

Give each raise a clear, specific message. Good wording turns a crash into a helpful clue for whoever debugs it.

Errors Are Not Crashes

A raised error is a structured signal, not a random crash. Your program can recover from it instead of just dying.

Raise When You Can't Continue

The rule of thumb: raise only when a function truly cannot finish its job correctly. Don't raise for normal outcomes.

Quick Check

Think about what the raise keyword actually does in Mojo.

Recap

You learned to signal failures with raise, attach a clear message, and let errors stop bad work instead of returning magic values. 🎯

Często zadawane pytania

Czy lekcja „Zgłaszanie błędu” jest bezpłatna?

Tak — pełny tekst „Zgłaszanie błędu” 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 Mojo Academy, przejdź na CoddyKit PRO. Kurs Mojo Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Zgłaszanie błędu”?

Zasygnalizuj, że coś poszło nie tak. Ćwiczysz Mojo 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ąć Mojo Academy?

Nie wymagamy żadnego doświadczenia. Mojo 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 4.

Ile czasu zajmuje lekcja „Zgłaszanie błędu”?

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 Mojo Academy?

Tak. Każda lekcja Mojo 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

  1. Zgłaszanie błędu
  2. Obsługa za pomocą try/except
  3. Adnotacja raises
  4. Sprzątanie za pomocą finally
← Powrót do Mojo Academy