Ноде.јс три-цатцх

Node Js Tri Catch



Пошто су грешке природан део искуства сваког програмера, корисник треба да ефикасно рукује грешкама користећи оптималну стратегију за креирање поуздане и функционалне апликације. Овај чланак има за циљ да објасни концепт паметног руковања грешкама користећи технику „покушај ухватити“ у Ноде.јс-у како би софтвер учинио поузданим и побољшао корисничко искуство. Такође ће пружити савете за побољшање вашег програма, побољшавајући самопоуздање корисника за изградњу чврстих и чврстих програма.

Прво, потребно је разумети шта је грешка и њене врсте.

Врсте грешака

Док радите на било ком програмском језику, генерално се могу јавити две врсте грешака:







Оперативна грешка

Оперативна грешка се јавља када се апликација суочи са необрађеним изузетком или неким проблемом у коду. Ову врсту грешке је обично тешко уочити јер постоје бројни узроци њеног настанка, нпр. цурење меморије, бескрајне петље, нетачан дизајн система итд.



Ефикасан начин да се носите са оперативним грешкама је коришћење оптималне стратегије за руковање грешкама да бисте уочили грешку у њеном пореклу и обавестили програмера како би се могла решити на време.



Функционална грешка

Функционалне грешке су оне које заустављају нормално функционисање кода апликације. Пошто се ове грешке понашају другачије, можда ће бити потребно више размишљања да би се уочило њихово порекло јер се могу другачије понашати током животног циклуса апликације.





Једноставан случај може бити програм у којем је корисник имплементирао погрешну логику што може или довести до бесконачне петље и на крају срушити програм.

Програмери морају да копају дубоко у бази кода да би идентификовали могуће функционалне грешке користећи технике као што су отклањање грешака и праћење стека итд.



Сада када знамо о врсти грешке која се може појавити у нашој скрипти кода, неопходно је да разумемо зашто постоји потреба за руковањем грешком.

Потреба за руковањем грешкама у Ноде.јс

Пре него што објаснимо концепт како да се носи са грешкама у Ноде.јс користећи три-цатцх; неопходно је разумети зашто постоји потреба за руковањем грешкама. Руковање грешкама у коду апликације је кључно за успостављање поуздане и побољшане апликације корисничког искуства за кориснике.

Побољшање корисничког искуства

Добра је пракса избегавати употребу генеричких порука и приказати поруке о грешкама које су прилагођене кориснику ради бољег корисничког искуства.

Изградња јачег кода фондације

Када се грешке третирају оптимално, основа кода изгледа реалистичнија. Ефикасно хвата и обрађује жељене грешке чиме се смањује ризик од пада апликације.

Детекција грешака

Руковање грешкама олакшава уочавање грешака током фазе развоја и њихово уклањање што је пре могуће. Ово омогућава корисницима да прецизније оптимизују своје апликације у фази развоја, омогућавајући проток кода без икаквих сметњи.

Пад апликације

Непоступање са грешкама може довести до изненадног прекида тока кода и на крају до рушења апликације. Употреба „ покушај да ухватиш ” блок нам омогућава да глатко обрађујемо грешке.

Сада, хајде да почнемо тако што ћемо погледати структуру/синтаксу блока три-цатцх који ћемо применити у нашем коду.

Структура блока три-цатцх

Структура блока три-цатцх је прилично јасна и представља основни алат за ефикасно руковање грешкама.

Структура блока три-цатцх је:

покушати {

} улов ( грешка ) {
конзола. грешка ( ) ;
} коначно {

}

Функционисање горњег кода је:

  • покушати ” блок садржи сав функционални код и грешке се могу појавити у овом блоку. Ако се у овом блоку појави било каква грешка, она покреће „ улов ' блокирати.
  • улов ” блок је место где се обрађују све неопходне грешке. Корисници могу изменити његова својства и извршити жељене радње.
  • коначно ” блок је опциони блок и покреће се сваки пут када дође до грешке или не. Обавља операцију чишћења.

Разумевање блока три-цатцх могло би се практично разумети случајем у коме покушавамо да приступимо датотеци која може или не мора да постоји. Ако не постоји, може дати грешку, како би се избегла грешка, корисник може да је реши коришћењем концепта покушаја хватања.

Грешке у руковању датотекама које користе блок „три-цатцх“ у Ноде.јс

Прво, погледајмо проблем без употребе „ покушај да ухватиш ' блокирати. У доњем примеру кода, датотека се отвара без правилног руковања грешкама:

конст фс = захтевају ( 'фс' ) ;

конст инфо = фс. реадФилеСинц ( '/Усерс/Леново/филе.ткт' ) ;

конзола. Пријава ( „Важан део кода који треба да се покрене на крају“ ) ;

Објашњење горњег кода је:

  • цонст фс = захтева (‘фс’) ” увози Ноде.јс ’фс’ (систем датотека) модул који омогућава кориснику да ради са системом датотека, укључујући све операције са датотекама попут читања или писања датотека.
  • цонст дата = фс.реадФилеСинц(‘/Усерс/Леново/филе.ткт’) ” чита садржај датотеке на наведеној путањи. „ реадФилеСинц ” је синхрона операција што значи да зауставља даље извршавање кода све док се датотека не прочита на наведеној путањи и информације се не похрањују у “ инфо ' променљива.
  • цонсоле.лог(„Важан део кода који би требало да се покрене на крају“) ” штампа поруку у терминалу, али ова линија се не извршава све док се датотека не прочита у претходном кораку.

Излаз

Грешка која је резултат горњег кода ће се појавити као:

Може се видети да покретање овог кода без икаквог правилног руковања грешкама доводи до грешака. Сада преправите горњи код користећи блок „покушај-хватај“:

конст фс = захтевају ( 'фс' ) ;
покушати {
конст инфо = фс. реадФилеСинц ( '/Усерс/Леново/филе.ткт' ) ;
конзола. Пријава ( инфо ) ;
} улов ( грешка ) {
конзола. грешка ( ` Грешка читање датотеке : $ { грешка. порука } ` ) ;
}

Функционисање горњег кода је:

  • Процес читања фајла смештен је у „ покушати ” блокирајте јер постоји шанса да се грешка појави овде.
  • цонсоле.лог(инфо) ” евидентира садржај датотеке и штампа га у конзоли.
  • улов ” блок хвата сваку могућу грешку која се може појавити у „ покушати ” блокира током извршавања кода и евидентира поруку о грешци на терминалу.
  • цонсоле.еррор(`Грешка при читању датотеке: ${еррор.мессаге}`) ” евидентира наведену поруку о грешци добијену као резултат ухваћене грешке.

Излаз

Излаз ефикасно рефакторисаног кода ће показати оптималну поруку о грешци као што је приказано испод на приложеном снимку екрана:

Коришћење покушаја-хватања нам омогућава да решимо могућу грешку која би могла да се догоди, али за боље разумевање наведене су неке ефикасне праксе које могу бити од помоћи.

Најбоље праксе за руковање грешкама

Корисник може да следи следеће праксе за решавање грешака у својим кодовима апликације:

Паметно користите три-цатцх

Неопходно је користити „ покушај да ухватиш ” само тамо где треба да се користи, посебно у важним деловима кода где постоји ризик од потенцијалне грешке. Коришћење превише у коду може учинити код сложеним.

Коришћење асинхроног кода

Када се код треба бавити асинхроним кодом, покушајте да користите „ покушај да ухватиш ” са обећањима и асинц/аваит за оптимално руковање грешком.

Евидентирајте и пријавите грешке

Увек правилно евидентирајте и пријавите одређену грешку у блоку цатцх, јер јасне поруке о грешци помажу да се идентификује основни узрок грешака.

Редуцинг Цомплекити

Решите ситуације у којима грешке нису критичне. Уклањање тог специфичног дела (ако није неопходно) може смањити сложеност кода.

Избегавање тихих грешака

Напишите код на начин који приказује поруку о грешци тамо где је то неопходно, иначе ако порука о грешци није назначена онда ће постати проблем руковање грешком без одговарајуће идентификације.

То је све о функционисању блока три-цатцх и како се може ефикасно користити за руковање грешкама у Ноде.јс.

Закључак

Постати вешт у руковању грешкама у Ноде.јс је основни корак ка развоју јаких и доследних апликација. Оптимална употреба „ покушај да ухватиш ” блок заједно са различитим праксама као што су асинхроне технике и правилно евидентирање грешака могу помоћи у успостављању стабилних и једноставних Ноде.јс апликација. Овај чланак је објаснио структуру, практичну примену и праксе руковања које се могу применити према захтевима корисника.