0Pricing
JavaScript Academy · Lekcja

try/catch/finally, throw i własne błędy

Używanie try/catch/finally, zgłaszanie prostych błędów za pomocą throw oraz definiowanie niewielkiego własnego Error dla czytelniejszych komunikatów

try/catch/finally, throw i własne błędy to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 1 z 2. 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 JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 2 lekcji w sumie.

Wprowadzenie do obsługi błędów

Cel: Bezpiecznie przechwytywać błędy i utrzymywać stabilność programów.

  • Podstawy try/catch
  • throw z jasnym komunikatem
  • finally do sprzątania
  • Niewielki własny Error
try/catch/finally, throw i własne błędy — ilustracja 1

Podstawy try/catch

Ryzykowne operacje należy otaczać blokiem try. W bloku catch należy wyświetlać krótki i pomocny komunikat.

// try/catch around risky code
try {
  const data = JSON.parse("{\"name\":\"Ayla\"}");
  console.log("Parsed:", data.name);
} catch (e) {
  // e.message is short and useful on mobile
  console.log("Failed to parse:", e.message);
}
try/catch/finally, throw i własne błędy — ilustracja 2

Podstawy throw

Należy używać throw new Error("message"), aby przerwać działanie i wyjaśnić, co poszło nie tak.

// Throw when inputs are invalid
function doubleNumber(n) {
  if (typeof n !== "number") {
    throw new Error("Number required");
  }
  return n * 2;
}

try {
  console.log(doubleNumber(4));
  console.log(doubleNumber("4")); // will throw
} catch (e) {
  console.log("Error:", e.message);
}
try/catch/finally, throw i własne błędy — ilustracja 3

finally do sprzątania

finally jest wykonywane niezależnie od tego, czy blok try zakończył się powodzeniem, czy błędem — jest przydatne do zamykania zasobów.

// finally runs after try/catch — great for cleanup
let opened = false;

try {
  opened = true;
  console.log("Opened:", opened);
  // Force an error to see finally still run
  JSON.parse("{ bad }");
} catch (e) {
  console.log("Caught:", e.message);
} finally {
  opened = false;
  console.log("Closed:", opened);
}
try/catch/finally, throw i własne błędy — ilustracja 4

Własny Error (podstawy)

W przypadku problemów z danymi wejściowymi można utworzyć niewielki InputError. Za pomocą instanceof można obsłużyć go w konkretny sposób.

// Make a small custom error
class InputError extends Error {
  constructor(message) {
    super(message);
    this.name = "InputError";
  }
}

function positive(n) {
  if (typeof n !== "number") {
    throw new InputError("Number required");
  }
  if (n <= 0) {
    throw new InputError("Must be positive");
  }
  return n;
}

try {
  console.log("OK:", positive(3));
  console.log("Fail:", positive(0));
} catch (e) {
  if (e instanceof InputError) {
    console.log("Input problem:", e.message);
  } else {
    // Unknown error: rethrow or log differently
    console.log("Unexpected:", e.message);
  }
}
try/catch/finally, throw i własne błędy — ilustracja 5

Wskazówki i lista kontrolna

Wskazówki:

  • Wejście należy sprawdzać odpowiednio wcześnie i zgłaszać krótkie komunikaty.
  • Do sprzątania należy używać finally (zamykania flag, timerów itp.).
  • Nie należy ignorować błędów: trzeba je krótko logować albo ponownie zgłaszać.
try/catch/finally, throw i własne błędy — ilustracja 6

Quiz: finally

Szybkie sprawdzenie: Działanie finally.

try/catch/finally, throw i własne błędy — ilustracja 7

Podsumowanie

Podsumowanie: Ryzykowny kod należy otaczać blokiem try/catch, zgłaszać krótkie i pomocne błędy, używać finally do sprzątania oraz definiować niewielkie własne błędy, aby ułatwić ich obsługę.

try/catch/finally, throw i własne błędy — ilustracja 8

Często zadawane pytania

Czy lekcja „try/catch/finally, throw i własne błędy” jest bezpłatna?

Tak — pełny tekst „try/catch/finally, throw i własne błędy” 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 JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 2 lekcji w sumie.

Co nauczysz się w „try/catch/finally, throw i własne błędy”?

Używanie try/catch/finally, zgłaszanie prostych błędów za pomocą throw oraz definiowanie niewielkiego własnego Error dla czytelniejszych komunikatów Ćwiczysz JavaScript 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ąć JavaScript Academy?

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

Ile czasu zajmuje lekcja „try/catch/finally, throw i własne błędy”?

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

Tak. Każda lekcja JavaScript 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. try/catch/finally, throw i własne błędy
  2. Programowanie defensywne i sprawdzanie danych wejściowych
← Powrót do JavaScript Academy