fel kastas av motorn, och undantag kastas av utvecklaren. Men vad exakt betyder det? I JavaScript är alla undantag helt enkelt objekt. Medan de flesta undantag är implementeringar av den globala Felklassen kan alla gamla objekt kastas. Med detta i åtanke finns det två sätt att kasta ett undantag: direkt via ett Felobjekt och via ett eget objekt.,
generiska undantag
medan den inbyggda felklassen är ganska väldefinierad-inklusive sådana saker som filnamn, radnummer och stackspår för att nämna några—när det gäller det är det viktigaste att notera meddelandet. Den första—och ofta endast-parametern som ska skickas under fel instantiation är meddelandet ett läsbart fel som ofta kan relateras direkt till slutanvändaren. Att kasta ett generiskt undantag är nästan lika enkelt som det låter., Allt som krävs är att instansiera ett undantagsobjekt—med den första parametern för Felkonstruktören som felmeddelandet-och sedan… ”kasta” det.
throw new Error('Exception message');
fel.kod mot fel.meddelande
det är viktigt att notera här att, medan felmeddelandet är läsbar feldata, nod.js ger också en felkod som identifierar den typ av fel som kastas. Detta värde är användbart eftersom det låter dig programmatiskt anpassa sig till fel som kan kastas, oavsett meddelandet i felet.,
även om felkoder vanligtvis används för systemfel, kan en anpassad kod definieras och användas för mer strukturerade feldefinitioner när du skapar egna fel genom att utöka felklassen (se anpassade undantag nedan för mer information).
egna undantag
även om det är möjligt att kasta något objekt, är bästa praxis att utöka Felobjektet med en ny klass. I miljöer som stöder det möjliggör detta att funktioner som det automatiska stapelspåret ingår i undantagssvaret, vilket kan vara avgörande när det gäller att diagnostisera problem senare nerför linjen.,
med ett eget undantagsobjekt som skapats behöver vi bara kasta det som något annat fel:
throw new CustomException('Exception message');
en annan stor fördel med att utvidga Felobjektet, snarare än att kasta ett generiskt fel, är att ytterligare metadata kan inkluderas med felet och hämtas senare. Detta kan vara oerhört värdefullt vid felsökning och felrapportering, eftersom ibland är ett vanligt textmeddelande helt enkelt inte tillräckligt. Du kan till exempel inkludera värdena för lokala variabler eller tillstånd som kan hjälpa dig att felsöka problemet.,
function CustomException(message, metadata) { const error = new Error(message); error.metadata = metadata; return error;}
utanför de data som ingår i Felobjektet, när du använder Rollbar-anmälaren för JavaScript ingår även ytterligare data i rapporten. Detta inkluderar kontextuell information som webbläsaren och användaren.
// Caught errorstry { doSomething();} catch (e) { Rollbar.error("Something went wrong", e);}
skriva till konsolen
i JavaScript är konsolen där alla loggar kan hittas(mer om det där är JavaScript-fel loggade?). Tack och lov, faktiskt skriva data till konsolen är otroligt enkelt. För att uppnå detta, ring bara konsolen.,log () metod, med meddelandet du vill skriva till loggen.
console.log("Top level");
Leave a Reply