JavaScript:
Feilhåndtering

Hvordan gjøre:

Her er den klassiske try-catch-blokken:

try {
  // Kode som kan kaste en feil
  let result = potentiallyRiskyOperation();
  console.log('Suksess:', result);
} catch (error) {
  // Hva gjøre hvis en feil blir kastet
  console.error('Oisann:', error.message);
}

Eksempel på utskrift når ingen feil oppstår:

Suksess: 42

Og når det er en feil:

Oisann: Noe gikk galt

For asynkron kode, hvor promises er involvert, bruk try-catch i en async funksjon:

async function fetchData() {
  try {
    let data = await fetch('https://api.example.com/data');
    console.log('Data hentet:', data);
  } catch (error) {
    console.error('Feil ved henting av data:', error.message);
  }
}

fetchData();

Dypdykk

Feilhåndtering i JavaScript har utviklet seg. Tilbake i tiden (ES3, rundt 1999), hadde vi bare try-catch-blokken. Ikke super fleksibel, men den gjorde jobben.

ES6 (2015) introduserte Promises og ga oss .then() og .catch(), som tillater oss å håndtere asynkrone feil mer nådig.

fetch('https://api.example.com/data')
  .then(data => console.log('Data hentet:', data))
  .catch(error => console.error('Feil ved henting av data:', error.message));

Når det gjelder implementasjonsdetaljer, når en feil blir kastet, skaper JavaScript-motorer et Error-objekt med nyttige egenskaper som message og stack. Du kan også lage tilpassede feiltyper ved å utvide Error-klassen – praktisk for mer komplekse apper.

Alternativer? Du kunne ignorere feilhåndtering (dårlig idé), bruke tilbakekall med feilførste parametere (hallo, Node.js-stil), eller bli mer sofistikert med biblioteker og rammeverk som tilbyr deres versjoner.

Se også

For mer om feilhåndtering: