Krok 2: throw i opis błędu

Wyjątki i walidacja - JavaScript od podstaw: konsola (JavaScript)

Ta sama funkcja zgłasza błąd instrukcją `throw new Error('opis')`. Każdy przypadek ma własny komunikat, a zwykła wartość zwracana to zawsze poprawny wiek. Kod wywołujący łapie błąd w `catch` i pokazuje `e.message`. Zapomniane `try` nie schowa błędu po cichu (jak niesprawdzone `-1`), tylko go ujawni.

function parseAge(text) {
  if (text.trim() === '') throw new Error('pusty tekst');
  const age = Number(text);
  if (Number.isNaN(age)) throw new Error('to nie jest liczba');
  if (!Number.isInteger(age)) throw new Error('wiek musi być całkowity');
  if (age < 0 || age > 130) throw new Error('wiek spoza zakresu 0-130');
  return age;
}

for (const text of ['15', '', 'abc', '200', '7.5']) {
  try {
    console.log(`"${text}": wiek ${parseAge(text)}`);
  } catch (e) {
    console.log(`"${text}": ${e.message}`);
  }
}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu JavaScript od podstaw: konsola·Zaloguj się, aby zapisać postęp na koncie.