Node.js try-catch

Node Js Try Catch



Dahil ang mga error ay natural na bahagi ng bawat karanasan ng developer, kailangang epektibong pangasiwaan ng user ang mga error gamit ang pinakamainam na diskarte upang lumikha ng maaasahan at functional na application. Nilalayon ng artikulong ito na ipaliwanag ang konsepto ng paghawak ng mga error nang matalino gamit ang diskarteng 'try-catch' sa Node.js upang gawing maaasahan ang software at mapahusay ang karanasan ng user. Magbibigay din ito ng mga tip upang mapabuti ang iyong programa, pagpapabuti ng kumpiyansa ng gumagamit upang bumuo ng matatag at matibay na mga programa.

Una, ito ay kinakailangan upang maunawaan kung ano ang isang error at ang mga uri nito.

Mga Uri ng Error

Habang nagtatrabaho sa anumang programming language sa pangkalahatan ay may dalawang uri ng mga error na maaaring mangyari:







Error sa Operasyon

Ang Operational Error ay nangyayari kapag ang application ay nahaharap sa isang hindi nahawakang pagbubukod o ilang isyu sa code. Ang ganitong uri ng error ay kadalasang mahirap makita dahil maraming dahilan ang pinagmulan nito hal. memory leak, walang katapusang mga loop, hindi tumpak na disenyo ng system, atbp.



Ang isang mahusay na paraan upang harapin ang mga error sa pagpapatakbo ay ang paggamit ng isang pinakamainam na diskarte sa paghawak ng error upang makita ang error sa pinagmulan nito at ipaalam sa developer upang ito ay matugunan sa oras.



Functional Error

Ang mga functional error ay yaong humihinto sa normal na paggana ng application code. Dahil iba ang pag-uugali ng mga error na ito, maaaring mangailangan sila ng higit pang brainstorming upang makita ang kanilang pinanggalingan dahil maaaring iba ang kanilang pagkilos sa panahon ng lifecycle ng application.





Ang isang simpleng kaso ay maaaring isang programa kung saan ang gumagamit ay nagpatupad ng maling lohika na maaaring magresulta sa isang walang katapusang loop at mag-crash sa programa sa huli.

Kailangang maghukay ng malalim ang mga developer sa codebase upang matukoy ang mga posibleng error sa paggana sa pamamagitan ng paggamit ng mga diskarte tulad ng pag-debug at stack traces atbp.



Ngayong alam na natin ang tungkol sa uri ng error na maaaring mangyari sa ating code script, kailangang magkaroon ng pag-unawa kung bakit kailangang pangasiwaan ang error.

Himukin na Pangasiwaan ang Mga Error sa Node.js

Bago ipaliwanag ang konsepto kung paano haharapin ang mga error sa Node.js gamit ang try-catch; kinakailangang magkaroon ng pang-unawa kung bakit kailangang pangasiwaan ang mga pagkakamali. Ang paghawak ng mga error sa application code ay mahalaga para sa pagbuo ng isang maaasahan at pinahusay na app ng karanasan ng user para sa mga user.

Pagpapabuti ng Karanasan ng User

Ito ay isang magandang kasanayan upang maiwasan ang paggamit ng mga generic na mensahe at ipakita ang user-friendly na mga mensahe ng error para sa isang mas mahusay na karanasan ng user.

Pagbuo ng Mas Matibay na Code Foundation

Kapag ang mga error ay nahawakan nang mahusay, ang pundasyon ng code ay tila mas makatotohanan. Mahusay nitong nakukuha at pinangangasiwaan ang mga ninanais na error kaya binabawasan ang panganib ng pag-crash ng application.

Pag-detect ng Bug

Pinapadali ng pangangasiwa ng error na makita ang mga bug sa yugto ng pag-develop at alisin ang mga ito nang maaga hangga't maaari. Nagbibigay-daan ito sa mga user na i-optimize ang kanilang mga application sa yugto ng pag-develop nang mas tumpak, na nagpapahintulot sa code na dumaloy nang walang anumang pagkaantala.

Pag-crash ng Application

Ang hindi paghawak sa mga error ay maaaring magresulta sa biglaang pagkagambala sa daloy ng code at sa huli ay pag-crash ng application. Ang paggamit ng ' subukan-huli ” block ay nagbibigay-daan sa amin upang mahawakan ang mga error nang maayos.

Ngayon, magsimula tayo sa pamamagitan ng pagtingin sa istruktura/Syntax ng try-catch block na ide-deploy namin sa aming code.

Istraktura ng try-catch Block

Ang istraktura ng try-catch block ay medyo diretso at ito ang batayang tool upang epektibong pangasiwaan ang mga error.

Ang istraktura para sa try-catch block ay:

subukan {

} mahuli ( pagkakamali ) {
console. pagkakamali ( ) ;
} sa wakas {

}

Ang paggana ng code sa itaas ay:

  • Ang ' subukan ” block ay naglalaman ng lahat ng gumaganang code at maaaring lumitaw ang mga error sa block na ito. Kung may anumang error na lumitaw sa block na ito ito ay nag-trigger ng ' mahuli ” block.
  • Ang ' mahuli ” Ang block ay kung saan hinahawakan ang lahat ng kinakailangang error. Maaaring baguhin ng mga user ang mga katangian nito at gawin ang mga gustong aksyon.
  • Ang ' sa wakas Ang ” block ay isang opsyonal na bloke, at ito ay tumatakbo sa bawat oras na may error man o hindi. Ginagawa nito ang operasyon ng paglilinis.

Ang pag-unawa sa try-catch block ay halos mauunawaan ng isang kaso kung saan sinusubukan naming i-access ang isang file na maaaring umiiral o hindi. Kung hindi ito umiiral, maaari itong magbigay ng isang error, upang maiwasan ang error na mahawakan ito ng gumagamit sa pamamagitan ng paggamit ng konsepto ng try-catch.

Mga Error sa Paghawak ng File gamit ang block na 'try-catch' sa Node.js

Una, tingnan natin ang isang problema nang hindi gumagamit ng ' subukan-huli ” block. Sa halimbawa ng code sa ibaba, ang isang file ay binuksan nang walang wastong paghawak ng error:

const fs = nangangailangan ( 'fs' ) ;

const impormasyon = fs. readFileSync ( '/Users/Lenovo/file.txt' ) ;

console. log ( 'Isang mahalagang piraso ng code na dapat tumakbo sa dulo' ) ;

Ang paliwanag ng code sa itaas ay:

  • const fs = nangangailangan(‘fs’) ” nag-i-import ng module ng Node.js ‘fs’ (file system) na nagbibigay-daan sa user na magtrabaho kasama ang file system, kasama ang lahat ng pagpapatakbo ng file tulad ng pagbabasa o pagsusulat ng mga file.
  • const data = fs.readFileSync(‘/Users/Lenovo/file.txt’) ” binabasa ang nilalaman ng file sa tinukoy na landas. Ang ' readFileSync Ang ” ay isang kasabay na operasyon na nangangahulugan na itinitigil nito ang karagdagang pagpapatupad ng code hanggang sa mabasa ang file sa tinukoy na landas at ang impormasyon ay maiimbak sa “ impormasyon ” variable.
  • console.log('Isang mahalagang piraso ng code na dapat tumakbo sa dulo') ” nagpi-print ng mensahe sa terminal ngunit ang linyang ito ay hindi naisakatuparan hanggang sa hindi nababasa ang file sa nakaraang hakbang.

Output

Ang error na nagreresulta mula sa code sa itaas ay lilitaw bilang:

Makikita na ang pagpapatakbo ng code na ito nang walang anumang wastong paghawak ng error ay nagreresulta sa mga error. Ngayon i-refactor ang code sa itaas gamit ang block na 'try-catch':

const fs = nangangailangan ( 'fs' ) ;
subukan {
const impormasyon = fs. readFileSync ( '/Users/Lenovo/file.txt' ) ;
console. log ( impormasyon ) ;
} mahuli ( pagkakamali ) {
console. pagkakamali ( ` Error binabasa ang file : $ { pagkakamali. mensahe } ` ) ;
}

Ang paggana ng code sa itaas ay:

  • Ang proseso ng pagbabasa ng file ay inilalagay sa ' subukan ” i-block dahil may pagkakataon na maaaring lumitaw ang error dito.
  • console.log(impormasyon) Nila-log ni ” ang nilalaman ng file at ini-print ito sa console.
  • Ang ' mahuli 'Nahuhuli ng block ang anumang posibleng error na maaaring mangyari sa ' subukan ” harangan habang nagpapatupad ng code at ni-log ang mensahe ng error sa terminal.
  • console.error(`Error sa pagbabasa ng file: ${error.message}`) ” nagla-log sa tinukoy na mensahe ng error na nakuha bilang resulta ng nahuli na error.

Output

Ang output ng mahusay na refactored code ay magpapakita ng pinakamainam na mensahe ng error tulad ng ipinapakita sa ibaba sa screenshot na nakalakip:

Ang paggamit ng try-catch ay nagbibigay-daan sa amin na pangasiwaan ang posibleng error na maaaring mangyari, ngunit para sa mas mahusay na pag-unawa, ilang mahusay na kasanayan ang nakalista na maaaring makatulong.

Pinakamahuhusay na Kasanayan Para sa Paghawak ng Error

Maaaring sundin ng user ang mga sumusunod na kasanayan upang mahawakan ang mga error sa kanilang mga code ng application:

Paggamit ng try-catch nang matalino

Kailangang gamitin ang ' subukan-huli ” lamang kung saan ito kailangang gamitin, lalo na sa mga mahahalagang bahagi ng code kung saan may panganib ng posibleng pagkakamali. Ang paggamit ng labis sa code ay maaaring gawing kumplikado ang code.

Gamit ang Asynchronous code

Kapag ang code ay haharapin sa asynchronous na code, subukang gamitin ang “ subukan-huli ” na may mga pangako at async/naghihintay upang mahusay na mahawakan ang error.

Mag-log at Mag-ulat ng Mga Error

Palaging mag-log at iulat nang maayos ang partikular na error sa catch block, dahil ang malinaw na mga mensahe ng error ay nakakatulong upang matukoy ang ugat ng mga error.

Pagbabawas ng pagiging kumplikado

Pangasiwaan ang mga sitwasyon kung saan ang mga pagkakamali ay hindi kritikal. Ang pag-alis sa partikular na bahaging iyon (kung hindi kinakailangan) ay maaaring mabawasan ang pagiging kumplikado ng code.

Pag-iwas sa Tahimik na Pagkakamali

Isulat ang code sa paraang nagpapakita ng mensahe ng error kung saan kinakailangan kung hindi man kung hindi ipinahiwatig ang mensahe ng error, magiging problema ang paghawak sa error nang walang wastong pagkakakilanlan.

Iyon lang ang tungkol sa paggana ng try-catch block at kung paano ito magagamit nang mahusay upang mahawakan ang mga error sa Node.js.

Konklusyon

Ang pagiging bihasa sa paghawak ng mga error sa Node.js ay ang batayang hakbang sa pagbuo ng malakas at pare-parehong mga application. Ang pinakamainam na paggamit ng ' try-catch ” block kasama ng iba't ibang mga kasanayan tulad ng mga asynchronous na diskarte at wastong pag-log ng error ay maaaring makatulong sa pagtatatag ng mga stable at user-friendly na application ng Node.js. Ipinaliwanag ng artikulong ito ang istruktura, praktikal na aplikasyon, at mga kasanayan sa pangangasiwa na maaaring gamitin ayon sa mga kinakailangan ng user.