hibák dobnak a motor, kivételek dobnak a fejlesztő. De mit is jelent ez pontosan? A JavaScriptben minden kivétel egyszerűen objektum. Míg a kivételek többsége a globális Hibaosztály implementációja,minden régi objektum dobható. Ezt szem előtt tartva kétféle módon lehet kivételt dobni: közvetlenül egy Hibaobjektumon keresztül, valamint egy egyedi objektumon keresztül.,
általános kivételek
míg a beépített Hibaosztály meglehetősen jól definiált—beleértve olyan dolgokat is, mint a fájlnév, a sorszám és a verem nyoma, hogy néhányat említsünk—amikor rá kerül, a legfontosabb dolog, amit figyelembe kell venni, az üzenet. Az első—gyakran csak-paraméter, amelyet a hibaüzenet során kell átadni, az üzenet egy ember által olvasható hiba, amely gyakran közvetlenül kapcsolódik a végfelhasználóhoz. Általános kivétel dobása majdnem olyan egyszerű, mint amilyennek hangzik., Csak egy kivételobjektum példányosítására van szükség-a hibakonstruktor első paramétere a hibaüzenet -, majd … “dobja”.
throw new Error('Exception message');
hiba.kód vs. hiba.üzenet
fontos megjegyezni, hogy míg a Hibaüzenet az ember által olvasható hibaadatok, csomópont.a js egy hibakódot is biztosít, amely azonosítja a dobott hiba típusát. Ez az érték hasznos, mivel lehetővé teszi, hogy programozottan alkalmazkodjon a dobható hibákhoz, függetlenül a hibán belüli üzenettől.,
míg a hibakódokat általában rendszerhibákhoz használják, az egyéni hibák létrehozásakor a hibaosztály kiterjesztésével (Lásd az alábbi egyéni kivételeket további részletekért), egyéni kód definiálható és használható strukturáltabb hibadefiníciókhoz.
egyéni kivételek
bár bármilyen objektumot el lehet dobni, a legjobb gyakorlat a Hibaobjektum kiterjesztése egy új osztályra. Az azt támogató környezetekben ez lehetővé teszi, hogy az olyan funkciók, mint az automatikus verem nyomkövetés, bekerüljenek a kivételre adott válaszba, ami döntő fontosságú lehet a problémák későbbi diagnosztizálásakor.,
egyéni kivétel létrehozott objektum, annyit kell tenned, hogy dobj, mint bármely más hiba:
throw new CustomException('Exception message');
a Másik nagy előnye, hogy kiterjeszti a Hiba objektum, ahelyett, hogy dobott egy általános hiba, hogy további metaadatok lehet venni a hiba ↑ később. Ez hihetetlenül értékes lehet a hibakeresésben és a hibajelentésben, mivel néha egy egyszerű szöveges üzenet egyszerűen nem elég. Például megadhatja a helyi változók vagy állapot értékeit, amelyek segíthetnek a probléma hibakeresésében.,
function CustomException(message, metadata) { const error = new Error(message); error.metadata = metadata; return error;}
a Hibaobjektumban szereplő adatokon kívül, a Rollbar notifier JavaScript használatához további adatokat is tartalmaz a jelentés. Ez magában foglalja a kontextuális információkat, mint a böngésző és a felhasználó.
// Caught errorstry { doSomething();} catch (e) { Rollbar.error("Something went wrong", e);}
a JavaScriptben a konzolban található az összes napló (erről bővebben a Hol vannak a JavaScript hibák naplózva?). Szerencsére az adatok írása a konzolra hihetetlenül egyszerű. Ehhez egyszerűen hívja a konzolt.,log () módszer, azzal az üzenettel, amelyet a naplóba szeretne írni.
console.log("Top level");
Leave a Reply