Pirmiausia reikia suprasti, kas yra klaida ir jos rūšys.
Klaidų tipai
Dirbant bet kuria programavimo kalba, paprastai gali atsirasti dviejų tipų klaidų:
Veikimo klaida
Veikimo klaida įvyksta, kai programa susiduria su netvarkoma išimtimi arba tam tikra kodo problema. Tokio tipo klaidą paprastai sunku pastebėti, nes yra daugybė jos atsiradimo priežasčių, pvz. atminties nutekėjimas, nesibaigiančios kilpos, netikslus sistemos dizainas ir kt.
Veiksmingas būdas susidoroti su veiklos klaidomis yra naudoti optimalią klaidų valdymo strategiją, kad būtų galima pastebėti klaidą jos kilmėje ir informuoti kūrėją, kad ją būtų galima laiku pašalinti.
Funkcinė klaida
Funkcinės klaidos yra tos, kurios sustabdo normalų programos kodo veikimą. Kadangi šios klaidos veikia skirtingai, gali prireikti daugiau minčių, kad būtų galima nustatyti jų kilmę, nes per programos gyvavimo ciklą jos gali elgtis kitaip.
Paprastas atvejis gali būti programa, kurioje vartotojas įdiegė neteisingą logiką, dėl kurios gali atsirasti begalinis ciklas ir galiausiai programa sugenda.
Kūrėjai turi įsigilinti į kodų bazę, kad nustatytų galimas funkcines klaidas naudodami tokius metodus kaip derinimas ir dėklo pėdsakai ir kt.
Dabar, kai žinome apie klaidos tipą, kuris gali atsirasti mūsų kodo scenarijuje, būtina suprasti, kodėl reikia tvarkyti klaidą.
Raginimas tvarkyti Node.js klaidas
Prieš paaiškindami, kaip tvarkyti Node.js klaidas naudojant try-catch; būtina suprasti, kodėl reikia tvarkyti klaidas. Programos kodo klaidų tvarkymas yra labai svarbus norint sukurti patikimą ir patobulintą naudotojo patirtį.
Vartotojo patirties gerinimas
Gera praktika yra vengti bendrųjų pranešimų ir rodyti patogius klaidų pranešimus, kad naudotojas veiktų geriau.
Stipresnio kodo fondo kūrimas
Kai klaidos tvarkomos optimaliai, kodo pagrindas atrodo realesnis. Jis efektyviai fiksuoja ir tvarko norimas klaidas, taip sumažindamas programos gedimo riziką.
Klaidų aptikimas
Klaidų tvarkymas leidžia lengvai pastebėti klaidas kūrimo etape ir jas pašalinti kuo anksčiau. Tai leidžia vartotojams tiksliau optimizuoti savo programas kūrimo etape, todėl kodas gali tekėti be jokių trikdžių.
Programos gedimas
Neapdorojus klaidų, gali staigiai sutrikti kodo srautas ir galiausiai sugesti programa. „ bandyti-pagauti “ blokas leidžia mums sklandžiai tvarkyti klaidas.
Dabar pradėkime pažvelgdami į „try-catch“ bloko, kurį įdiegsime savo kode, struktūrą / sintaksę.
Try-catch bloko struktūra
„Try-catch“ bloko struktūra yra gana paprasta ir tai yra pagrindinis įrankis veiksmingai valdyti klaidas.
„Try-catch“ bloko struktūra yra tokia:
bandyti {} sugauti ( klaida ) {
konsolė. klaida ( ) ;
} pagaliau {
}
Pirmiau pateikto kodo veikimas yra toks:
- „ bandyti ” bloke yra visas veikiantis kodas ir šiame bloke gali atsirasti klaidų. Jei šiame bloke atsiranda kokia nors klaida, ji suaktyvina „ sugauti “ blokas.
- „ sugauti “ blokas yra čia, kur tvarkomos visos reikalingos klaidos. Vartotojai gali keisti jo savybes ir atlikti norimus veiksmus.
- „ pagaliau “ blokas yra neprivalomas blokas ir veikia kiekvieną kartą, nesvarbu, ar įvyko klaida, ar ne. Jis atlieka valymo operaciją.
„Try-catch“ bloko supratimas gali būti praktiškai suprantamas tuo atveju, kai bandome pasiekti failą, kuris gali egzistuoti arba nebūti. Jei jis neegzistuoja, jis gali pateikti klaidą, kad išvengtų klaidos, vartotojas gali ją išspręsti pasinaudodamas try-catch koncepcija.
Failų tvarkymo klaidos naudojant „try-catch“ bloką Node.js
Pirmiausia pažvelkime į problemą nenaudodami „ bandyti-pagauti “ blokas. Toliau pateiktame kodo pavyzdyje failas atidaromas tinkamai neapdorojus klaidų:
konst fs = reikalauti ( 'fs' ) ;konst informacija = fs. skaitykite failų sinchronizavimą ( „/Users/Lenovo/file.txt“ ) ;
konsolė. žurnalas ( „Svarbi kodo dalis, kurią reikia paleisti pabaigoje“ ) ;
Aukščiau pateikto kodo paaiškinimas yra toks:
- “ const fs = reikalauti ('fs') “ importuoja Node.js „fs“ (failų sistemos) modulį, leidžiantį vartotojui dirbti su failų sistema, įskaitant visas failų operacijas, tokias kaip failų skaitymas ar rašymas.
- “ const data = fs.readFileSync(‘/Users/Lenovo/file.txt’) “ nuskaito failo turinį nurodytu keliu. „ skaitykite failų sinchronizavimą “ yra sinchroninė operacija, kuri reiškia, kad ji sustabdo tolesnį kodo vykdymą, kol failas bus nuskaitytas nurodytu keliu ir informacija išsaugoma „ informacija “ kintamasis.
- “ console.log („Svarbi kodo dalis, kurią reikia paleisti pabaigoje“) “ išspausdina pranešimą terminale, tačiau ši eilutė nevykdoma tol, kol failas nebus nuskaitytas ankstesniame veiksme.
Išvestis
Klaida, atsirandanti dėl aukščiau pateikto kodo, bus rodoma taip:
Galima pastebėti, kad paleidus šį kodą be tinkamo klaidų tvarkymo atsiranda klaidų. Dabar pakartokite aukščiau pateiktą kodą naudodami bloką „try-catch“:
konst fs = reikalauti ( 'fs' ) ;bandyti {
konst informacija = fs. skaitykite failų sinchronizavimą ( „/Users/Lenovo/file.txt“ ) ;
konsolė. žurnalas ( informacija ) ;
} sugauti ( klaida ) {
konsolė. klaida ( ` Klaida failo skaitymas : $ { klaida. žinutę } ` ) ;
}
Pirmiau pateikto kodo veikimas yra toks:
- Failų skaitymo procesas patalpinamas į „ bandyti “ blokuoti, nes yra tikimybė, kad čia gali atsirasti klaida.
- “ console.log(informacija) “ registruoja failo turinį ir išspausdina jį konsolėje.
- „ sugauti “ blokas užfiksuoja bet kokią galimą klaidą, kuri gali atsirasti „ bandyti “ blokuoja kodo vykdymo metu ir užregistruoja klaidos pranešimą terminale.
- “ console.error(`Klaida skaitant failą: ${error.message}`) “ registruoja nurodytą klaidos pranešimą, gautą dėl užgautos klaidos.
Išvestis
Efektyviai pertvarkyto kodo išvestis parodys optimalų klaidos pranešimą, kaip parodyta toliau pateiktoje pridėtoje ekrano kopijoje:
„Try-catch“ naudojimas leidžia išspręsti galimą klaidą, kuri gali įvykti, tačiau siekiant geriau suprasti, pateikiami keli veiksmingi metodai, kurie gali būti naudingi.
Geriausia klaidų valdymo praktika
Naudotojas gali vadovautis tokia praktika, kad tvarkytų savo programų kodų klaidas:
Išmintingai naudodamiesi try-catch
Būtina naudoti ' bandyti-pagauti “ tik ten, kur jį reikia naudoti, ypač svarbiose kodo dalyse, kur yra galimos klaidos rizika. Naudojant per daug kode, kodas gali būti sudėtingas.
Asinchroninio kodo naudojimas
Kai kodas turi būti tvarkomas su asinchroniniu kodu, pabandykite naudoti „ bandyti-pagauti “ su pažadais ir asinchronizavimu / laukimu, kad būtų galima optimaliai ištaisyti klaidą.
Užsiregistruokite ir praneškite apie klaidas
Visada tinkamai užregistruokite ir praneškite apie konkrečią klaidą gaudymo bloke, nes aiškūs klaidų pranešimai padeda nustatyti pagrindinę klaidų priežastį.
Sudėtingumo mažinimas
Išspręskite situacijas, kai klaidos nėra kritinės. Pašalinus tą konkrečią dalį (jei tai nėra būtina), gali sumažėti kodo sudėtingumas.
Tyliųjų klaidų išvengimas
Parašykite kodą taip, kad, kur reikia, būtų rodomas klaidos pranešimas, priešingu atveju, jei klaidos pranešimas nenurodytas, bus sunku išspręsti klaidą tinkamai neidentifikavus.
Tai viskas apie „try-catch“ bloko veikimą ir tai, kaip jį efektyviai panaudoti sprendžiant „Node.js“ klaidas.
Išvada
Įgudimas tvarkyti Node.js klaidas yra pagrindinis žingsnis kuriant stiprias ir nuoseklias programas. Optimalus „ bandyti-pagauti “ blokas kartu su įvairiomis praktikomis, tokiomis kaip asinchroniniai metodai ir tinkamas klaidų registravimas, gali padėti sukurti stabilias ir patogias Node.js programas. Šiame straipsnyje paaiškinta struktūra, praktinis pritaikymas ir tvarkymo praktika, kurią galima naudoti pagal vartotojo reikalavimus.