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.