chyby jsou vyvolány motorem a výjimky jsou vyvolány vývojářem. Ale co přesně to znamená? V JavaScriptu jsou všechny výjimky jednoduše objekty. Zatímco většina výjimek jsou implementace globální třídy chyb, jakýkoli starý objekt může být hozen. S ohledem na to existují dva způsoby, jak hodit výjimku: přímo pomocí chybového objektu a prostřednictvím vlastního objektu.,
Obecné výjimky
Zatímco vestavěný Error třída je poměrně dobře definována, včetně takových věcí, jako je název souboru, číslo řádku a trasování zásobníku, aby jméno pár—když na to přijde, nejdůležitější věc, kterou musíte vzít na vědomí zprávu. První—a často pouze-parametr, který má být předán během instalace chyb, zpráva je chyba čitelná člověkem, která může často souviset přímo s koncovým uživatelem. Házení obecné výjimky je téměř tak jednoduché, jak to zní., Vše, co je potřeba, je vytvořit objekt výjimky—přičemž prvním parametrem konstruktoru chyby je chybová zpráva—a pak… „hodit“.
throw new Error('Exception message');
chyba.kód vs. chyba.zpráva
je důležité si uvědomit, že zatímco chybová zpráva je lidsky čitelná chybová data, uzel.js také poskytuje chybový kód, který identifikuje druh chyby, která je vyvolána. Tato hodnota je užitečná, protože umožňuje programově se přizpůsobit chybám, které mohou být hozeny, bez ohledu na zprávu obsaženou v chybě.,
zatímco chybové kódy se obvykle používají pro systémové chyby, při vytváření vlastních chyb rozšířením třídy chyb (viz vlastní výjimky níže pro více podrobností) lze vlastní kód definovat a použít pro strukturovanější definice chyb.
vlastní výjimky
zatímco je možné házet jakýkoli objekt, nejlepší praxí je rozšířit objekt chyby o novou třídu. V prostředích, která jej podporují, to umožňuje, aby funkce, jako je automatická stopa zásobníku, byly zahrnuty do odpovědi na výjimku, což může být rozhodující, pokud jde o diagnostiku problémů později v řadě.,
S vlastní výjimky objekt vytvořen, vše, co musíme udělat, je hodit to jako každá jiná chyba:
throw new CustomException('Exception message');
Další velkou výhodou rozšíření Chyba objektu, spíše než házet to obecná chyba, je to další metadata mohou být zahrnuty s chybou a vyvolány později. To může být neuvěřitelně cenné při ladění a hlášení chyb, protože někdy prostá textová zpráva prostě nestačí. Můžete například zahrnout hodnoty lokálních proměnných nebo stavu, které vám mohou pomoci problém ladit.,
function CustomException(message, metadata) { const error = new Error(message); error.metadata = metadata; return error;}
Mimo údajů obsažených v Chybové objektu, při použití ochranný rám notifier pro JavaScript další údaje jsou součástí zprávy stejně. To zahrnuje kontextové informace, jako je prohlížeč a uživatel.
// Caught errorstry { doSomething();} catch (e) { Rollbar.error("Something went wrong", e);}
zápis do konzole
V Javascriptu, konzole je místo, kde všechny protokoly lze nalézt (více o tom, Kde jsou Chyby v Javascriptu Přihlášen?). Naštěstí je skutečně psaní dat do konzoly neuvěřitelně jednoduché. Chcete-li to provést, jednoduše zavolejte konzolu.,log () metoda, se zprávou, kterou chcete napsat do protokolu.
console.log("Top level");
Leave a Reply