Node.js pokušaj uhvati

Node Js Pokusaj Uhvati



Budući da su pogreške prirodni dio iskustva svakog programera, korisnik se mora učinkovito nositi s pogreškama koristeći optimalnu strategiju za stvaranje pouzdane i funkcionalne aplikacije. Cilj ovog članka je objasniti koncept pametnog rukovanja pogreškama korištenjem tehnike 'pokušaj uhvatiti' u Node.js kako bi softver bio pouzdan i poboljšao korisničko iskustvo. Također će pružiti savjete za poboljšanje vašeg programa, poboljšavajući povjerenje korisnika za izgradnju čvrstih i čvrstih programa.

Prvo, potrebno je razumjeti što je greška i njene vrste.

Vrste grešaka

Tijekom rada na bilo kojem programskom jeziku općenito se mogu pojaviti dvije vrste pogrešaka:







Operativna pogreška

Operativna pogreška se događa kada se aplikacija suoči s neobrađenom iznimkom ili nekim problemom u kodu. Ovu vrstu pogreške obično je teško uočiti jer postoje brojni uzroci njenog nastanka, npr. curenje memorije, beskrajne petlje, netočan dizajn sustava itd.



Učinkovit način suočavanja s operativnim pogreškama je korištenje optimalne strategije za postupanje s pogreškama kako bi se uočila pogreška u njenom podrijetlu i obavijestio razvojni programer kako bi se mogla na vrijeme riješiti.



Funkcionalna pogreška

Funkcionalne pogreške su one koje zaustavljaju normalno funkcioniranje aplikacijskog koda. Budući da se te pogreške ponašaju drugačije, možda će trebati više razmišljanja kako bi se uočilo njihovo podrijetlo jer se mogu ponašati drugačije tijekom životnog ciklusa aplikacije.





Jednostavan slučaj može biti program u kojem je korisnik implementirao pogrešnu logiku što može rezultirati beskonačnom petljom i srušiti program u konačnici.

Programeri moraju kopati duboko u bazu koda kako bi identificirali moguće funkcionalne pogreške korištenjem tehnika kao što su debugging i stack tracks itd.



Sada kada znamo o vrsti pogreške koja se može pojaviti u našoj skripti koda, potrebno je razumjeti zašto postoji potreba za rješavanjem greške.

Poziv za rješavanje pogrešaka u Node.js

Prije objašnjenja koncepta rješavanja pogrešaka u Node.js koristeći try-catch; potrebno je razumjeti zašto postoji potreba za rješavanjem grešaka. Rukovanje pogreškama u kodu aplikacije ključno je za uspostavljanje pouzdane i poboljšane aplikacije za korisničko iskustvo za korisnike.

Poboljšanje korisničkog iskustva

Dobra je praksa izbjegavati korištenje generičkih poruka i prikazivati ​​poruke o pogreškama prilagođene korisniku radi boljeg korisničkog iskustva.

Izgradnja snažnijeg temelja koda

Kada se pogreške obrađuju optimalno, temelj koda izgleda realističnije. Učinkovito hvata i obrađuje željene pogreške čime se smanjuje rizik od pada aplikacije.

Otkrivanje grešaka

Rješavanje pogrešaka olakšava uočavanje grešaka tijekom faze razvoja i njihovo uklanjanje što je prije moguće. Ovo korisnicima omogućuje da točnije optimiziraju svoje aplikacije u fazi razvoja, dopuštajući kodu da teče bez ikakvih smetnji.

Rušenje aplikacije

Neupravljanje pogreškama može dovesti do iznenadnog prekida protoka koda i konačnog rušenja aplikacije. Upotreba ' pokušaj uhvatiti ” blok nam omogućuje glatko rješavanje pogrešaka.

Sada, počnimo s pogledom na strukturu/sintaksu bloka try-catch koji ćemo implementirati u našem kodu.

Struktura bloka try-catch

Struktura bloka try-catch je prilično jednostavna i to je osnovni alat za učinkovito rješavanje pogrešaka.

Struktura bloka try-catch je:

probati {

} ulov ( greška ) {
konzola. greška ( ) ;
} konačno {

}

Funkcioniranje gornjeg koda je:

  • ' probati ” sadrži sav funkcionalni kod i u ovom bloku mogu nastati pogreške. Ako se pojavi bilo kakva pogreška u ovom bloku, ona pokreće ' ulov ' blok.
  • ' ulov ” blok je mjesto gdje se obrađuju sve potrebne pogreške. Korisnici mogu mijenjati njegova svojstva i izvršavati željene radnje.
  • ' konačno ” blok je izborni blok i pokreće se svaki put bez obzira na to se pojavi greška ili ne. Izvodi operaciju čišćenja.

Razumijevanje bloka try-catch moglo bi se praktično razumjeti u slučaju u kojem pokušavamo pristupiti datoteci koja može, ali i ne mora postojati. Ako ne postoji, može dati pogrešku, kako bi se izbjegla pogreška, korisnik je može riješiti koristeći se konceptom pokušaj-uhvati.

Pogreške rukovanja datotekama korištenjem bloka “try-catch” u Node.js

Prvo, pogledajmo problem bez korištenja ' pokušaj uhvatiti ' blok. U donjem primjeru koda, datoteka je otvorena bez odgovarajuće obrade pogreške:

konst fs = zahtijevati ( 'fs' ) ;

konst info = fs. readFileSync ( '/Users/Lenovo/file.txt' ) ;

konzola. log ( 'Važan dio koda koji bi se trebao pokrenuti na kraju' ) ;

Objašnjenje gornjeg koda je:

  • const fs = zahtijevaju ('fs') ” uvozi modul Node.js 'fs' (datotečni sustav) koji korisniku omogućuje rad sa datotečnim sustavom, uključujući sve operacije datoteka poput čitanja ili pisanja datoteka.
  • const data = fs.readFileSync('/Users/Lenovo/file.txt') ” čita sadržaj datoteke na navedenoj stazi. ' readFileSync ” je sinkrona operacija što znači da zaustavlja daljnje izvršavanje koda sve dok se datoteka ne pročita na navedenoj stazi i podaci se pohrane u “ info ” varijabla.
  • console.log(“Važan dio koda koji bi se trebao pokrenuti na kraju”) ” ispisuje poruku u terminalu, ali ovaj redak se ne izvršava dok se datoteka ne pročita u prethodnom koraku.

Izlaz

Pogreška koja proizlazi iz gornjeg koda pojavit će se kao:

Može se vidjeti da izvođenje ovog koda bez odgovarajuće obrade pogrešaka rezultira pogreškama. Sada refaktorirajte gornji kod pomoću bloka “try-catch”:

konst fs = zahtijevati ( 'fs' ) ;
probati {
konst info = fs. readFileSync ( '/Users/Lenovo/file.txt' ) ;
konzola. log ( info ) ;
} ulov ( greška ) {
konzola. greška ( ` Greška čitanje datoteke : $ { greška. poruka } ` ) ;
}

Funkcioniranje gornjeg koda je:

  • Proces čitanja datoteke nalazi se u ' probati ” blokirajte jer postoji mogućnost da se pogreška pojavi ovdje.
  • console.log(info) ” bilježi sadržaj datoteke i ispisuje ga u konzoli.
  • ' ulov ' blok hvata svaku moguću pogrešku koja se može pojaviti u ' probati ” blokira tijekom izvođenja koda i bilježi poruku o pogrešci na terminal.
  • console.error(`Pogreška čitanja datoteke: ${error.message}`) ” bilježi navedenu poruku o pogrešci dobivenu kao rezultat uhvaćene pogreške.

Izlaz

Izlaz učinkovito refaktoriranog koda prikazat će optimalnu poruku o pogrešci kao što je prikazano u nastavku na priloženoj snimci zaslona:

Korištenje try-catch-a omogućuje nam rješavanje mogućih grešaka koje bi se mogle pojaviti, ali radi boljeg razumijevanja navedene su neke učinkovite prakse koje mogu biti od pomoći.

Najbolji postupci za rješavanje pogrešaka

Korisnik može slijediti sljedeće prakse za rješavanje pogrešaka u svojim aplikacijskim kodovima:

Mudro korištenje pokušaj-uhvati

Potrebno je koristiti “ pokušaj uhvatiti ” samo tamo gdje je potrebno koristiti, posebno u važnim dijelovima koda gdje postoji rizik od potencijalne pogreške. Upotreba previše u kodu može učiniti kod složenim.

Korištenje asinkronog koda

Kada se kod radi s asinkronim kodom, pokušajte koristiti ' pokušaj uhvatiti ” s obećanjima i async/await za optimalno rješavanje pogreške.

Prijavite i prijavite pogreške

Uvijek zabilježite i pravilno prijavite određenu pogrešku u bloku catch jer jasne poruke o pogrešci pomažu identificirati glavni uzrok pogrešaka.

Smanjenje složenosti

Postupajte u situacijama u kojima pogreške nisu kritične. Uklanjanje tog određenog dijela (ako nije potrebno) može smanjiti složenost koda.

Izbjegavanje tihih pogrešaka

Napišite kôd na način da prikazuje poruku o pogrešci gdje je to potrebno, inače ako poruka o pogrešci nije naznačena, bit će problem riješiti pogrešku bez odgovarajuće identifikacije.

To je sve o funkcioniranju bloka try-catch i kako se on može učinkovito koristiti za obradu pogrešaka u Node.js.

Zaključak

Postati vješt u rukovanju pogreškama u Node.js osnovni je korak za razvoj jakih i dosljednih aplikacija. Optimalna upotreba “ pokušaj uhvatiti ” blok zajedno s raznim praksama poput asinkronih tehnika i pravilnog bilježenja pogrešaka može pomoći u uspostavljanju stabilnih i korisniku prilagođenih Node.js aplikacija. Ovaj je članak objasnio strukturu, praktičnu primjenu i postupke rukovanja koji se mogu primijeniti prema zahtjevima korisnika.