TypeScript:
Fouten afhandelen

Hoe te:

In TypeScript omvat foutafhandeling vaak try, catch en finally blokken.

function riskyOperation() {
  throw new Error("Er ging iets mis!");
}

function handleErrors() {
  try {
    riskyOperation();
  } catch (error) {
    console.error("Er is een fout gevangen:", error.message);
  } finally {
    console.log("Dit wordt altijd uitgevoerd, fout of niet.");
  }
}

handleErrors();

Voorbeelduitvoer:

Er is een fout gevangen: Er ging iets mis!
Dit wordt altijd uitgevoerd, fout of niet.

Asynchroon voorbeeld met beloften:

async function asyncRiskyOperation() {
  return new Promise((resolve, reject) => {
    // Simuleer een fout
    reject("Jammerlijk gefaald");
  });
}

async function handleAsyncErrors() {
  try {
    await asyncRiskyOperation();
  } catch (error) {
    console.error("Asynchroon fout gevangen:", error);
  }
}

handleAsyncErrors();

Voorbeelduitvoer:

Asynchroon fout gevangen: Jammerlijk gefaald

Diepere Duik

Foutafhandeling is sinds het begin van het programmeren een hoeksteen geweest. In TypeScript, dat voortbouwt op JavaScript, werd foutafhandeling robuuster met de introductie van async/await in ECMAScript 2017. Daarvoor vertrouwden we vaak op callback-functies en beloften om fouten in asynchrone code te hanteren.

Een alternatief voor try/catch in TypeScript is het gebruik van foutbegrenzingen die door frameworks zoals React worden aangeboden. Voor serverzijdige afhandeling kunnen we middleware gebruiken op platforms zoals Express.js om foutbeheer te centraliseren.

Wat implementatie betreft, heeft TypeScript geen eigen foutafhandelingsmechanisme, maar vertrouwt het op JavaScript’s. Aangepaste foutklassen kunnen de Error-klasse uitbreiden om meer beschrijvende foutinformatie te bieden.

Zie Ook