TypeScript:
Hantering av fel

Hur man gör:

I TypeScript involverar hantering av fel ofta try, catch och finally block.

function riskyOperation() {
  throw new Error("Något gick fel!");
}

function handleErrors() {
  try {
    riskyOperation();
  } catch (error) {
    console.error("Fångade ett fel:", error.message);
  } finally {
    console.log("Detta körs alltid, fel eller inte.");
  }
}

handleErrors();

Exempel på utskrift:

Fångade ett fel: Något gick fel!
Detta körs alltid, fel eller inte.

Asynkront exempel med löften:

async function asyncRiskyOperation() {
  return new Promise((resolve, reject) => {
    // Simulera ett fel
    reject("Misslyckades miserabelt");
  });
}

async function handleAsyncErrors() {
  try {
    await asyncRiskyOperation();
  } catch (error) {
    console.error("Fångade asynkront fel:", error);
  }
}

handleAsyncErrors();

Exempel på utskrift:

Fångade asynkront fel: Misslyckades miserabelt

Fördjupning

Felhantering har varit en grundpelare i programmering sedan dess början. I TypeScript, som bygger på JavaScript, blev felhantering mer robust med införandet av async/await i ECMAScript 2017. Innan dess förlitade vi oss ofta på callback-funktioner och löften för att hantera fel i asynkron kod.

Ett alternativ till try/catch i TypeScript är att använda felgränser som tillhandahålls av ramverk som React. För server-sidans hantering kan vi använda middleware i plattformar som Express.js för att centralisera felhantering.

När det kommer till implementeringen har TypeScript ingen egen mekanism för felhantering utan förlitar sig på JavaScripts. Anpassade felklasser kan utvidga Error-klassen för att erbjuda mer beskrivande felinformation.

Se även