Atklājiet dažādu veidu kļūdas, kuras varat novērst, un to, kā tās novērst, izmantojot Express.js.

Key Takeaways

  • Kļūdas Express.js lietojumprogrammās var iedalīt sintakses un izpildlaika kļūdās, ievades validācijas un lietotāja kļūdās, ar datu bāzi un tīklu saistītās kļūdās un trešās puses API un pakalpojumu kļūdās.
  • Kļūdu uztveršana un reģistrēšana konsolē ir vienkāršs veids, kā apstrādāt kļūdas Express.js izstrādes un atkļūdošanas fāzēs. Kļūdu apstrādes pakotnes, piemēram, express-error-handler, nodrošina lietošanai gatavu funkcionalitāti kļūdu pārvaldībai un reaģēšanai uz tām.
  • Sinhrono un asinhrono kļūdu apstrāde, izmantojot try-catch blokus, ir efektīvs paņēmiens programmā Express.js. Asinhronām operācijām asinhrono un gaidīšanas atslēgvārdu integrēšana try-catch blokos var uzlabot kļūdu apstrādi. Pielāgotas kļūdu apstrādes starpprogrammatūras izveide nodrošina centralizētu un pielāgotu pieeju kļūdu pārvaldībai.

Ideālā gadījumā jūs izveidojat API un aizmugures pakalpojumus, izvietojat tos ražošanā, pēc tam atpūšaties un atpūšaties, kamēr citi tos izmanto. Diemžēl reālajā pasaulē jūsu rakstītajās programmās gandrīz noteikti būs kļūdas un kļūdas.

instagram viewer

Šī iemesla dēļ, izstrādājot Express.js API un aizmugursistēmas pakalpojumus, ir svarīgi ņemt vērā, kā var rasties dažādas kļūdas un kā tās efektīvi rīkoties.

Paredzot šādus scenārijus, varat nodrošināt, ka jūsu lietotnes ne tikai efektīvi apstrādā kļūdas, bet arī nodrošina lietotājiem nevainojamu pieredzi.

Izplatītākie kļūdu veidi Express.js lietojumprogrammās

Izstrādājot Express.js lietojumprogrammas, jūs saskaraties ar dažāda veida kļūdām, tostarp:

  1. Sintakses un izpildlaika kļūdas: sintakses kļūdas rodas, ja koda sintaksē ir kļūdas, kas nozīmē, ka lietojumprogrammu nevar palaist. No otras puses, izpildlaika kļūdas rodas, kad programma darbojas, parasti neparedzētu apstākļu vai nepareizu datu dēļ.
  2. Ievades validācija un lietotāja kļūdas: šīs kļūdas rodas, ja lietotāji, mijiedarbojoties ar lietojumprogrammu, sniedz nepietiekamus vai nederīgus datus. Šīs kļūdas var izpausties dažādos veidos, piemēram, trūkstošos obligātos laukus, nepareizos datu formātos vai vērtībās, kas neatbilst noteiktiem kritērijiem.
  3. Ar datu bāzi un tīklu saistītas kļūdas: ar datu bāzi un tīklu saistītas kļūdas var rasties, ja rodas problēma, izveidojot savienojumu ar datu bāzi vai ja tīklā neizdodas saziņa ar ārējām lietojumprogrammām. Šīs kļūdas var būt īpaši apgrūtinošas, ja jūsu lietojumprogramma ir atkarīga no tīkla.
  4. Trešās puses API un pakalpojumu kļūdas: kļūdas var rasties arī, mijiedarbojoties ar ārējām API vai pakalpojumiem. Veicot pieprasījumus ārējām sistēmām, var rasties dažādas problēmas. Piemēram, API var saskarties ar dīkstāvi, sniegt atbildes ar kļūdām nederīgu parametru dēļ vai atgriezt neparedzētus datu formātus.

Ir dažādas metodes, kuras varat izmantot, lai efektīvi apstrādātu kļūdas savā Express.js REST API un aizmugures pakalpojumi.

1. Kļūdu uztveršana un reģistrēšana konsolē

Vienkāršs veids, kā rīkoties ar kļūdām, ir tās uztvert un reģistrēt informāciju konsolē. Šī pieeja palīdz identificēt kļūdas izstrādes un atkļūdošanas fāzēs.

Izmantojot console.error(), varat gūt ieskatu par kļūdu būtību un atrašanās vietu savā lietojumprogrammā. Šeit ir koda piemērs:

app.get('/example', (req, res) => {
try {
// Code that may cause an error
const result = someFunction();
res.json(result);
} catch (error) {
console.error('Error occurred:', error);
res.status(500).json({ message: 'An error occurred.' });
}
});

2. Kļūdu apstrādes pakotņu izmantošana

Express.js piedāvā vairākas kļūdu apstrādes starpprogrammatūras pakotnes, lai pilnveidotu kļūdu pārvaldību. Viena šāda pakete ir ekspres-kļūdu apstrādātājs— šīs pakotnes atvieglo kļūdu apstrādi un reaģēšanu uz tām, nodrošinot lietošanai gatavu funkcionalitāti, piemēram, pielāgotus kļūdu ziņojumus un kļūdu reģistrēšanas līdzekļus.

Lai izmantotu šo pakotni, tā jāinstalē savā projektā:

npm install express-error-handler

Pēc instalēšanas varat izmantot tās līdzekļus, lai uzlabotu lietojumprogrammas kļūdu apstrādes iespējas.

const errorHandler = require('express-error-handler');

// Register the error-handling middleware
app.use(errorHandler({
static: {
'404': 'path/to/404.html'
}
}));

Piemēram, iepriekš minētajā piemērā pieņemsim, ka lietotājs pieprasa maršrutu, kas neeksistē. Apdarinātāja funkcija aktivizēs un novirzīs lietotāju uz pielāgotu 404 kļūdas lapu 404.html. Tas nodrošina, ka lietojumprogramma Express.js efektīvi apstrādā kļūdu “lapa nav atrasta”.

Būtībā šīs pakotnes nodrošina lietotājam draudzīgāku pieeju iespējamo kļūdu pārvaldībai.

3. Sinhrono un asinhrono kļūdu apstrāde, izmantojot Try-Catch blokus

Apstrāde sinhronā un asinhronā programmēšana kļūdas, izmantojot try-catch blokus, ir efektīvs paņēmiens programmā Express.js. Sinhronā koda gadījumā kļūdas var pārvaldīt, potenciāli kļūdām pakļauto sadaļu iesaiņojot try-catch blokā.

Šeit ir koda paraugs, kas parāda izmantotos try-catch blokus:

app.get('/data', (req, res) => {
try {
// code that may cause an error
const result = someFunction();
res.json(result);
} catch (error) {
console.error('Error occurred:', error);
res.status(500).json({ message: 'An error occurred.' });
}
});

Tomēr, strādājot ar asinhronām operācijām, piemēram, datu bāzes vaicājumiem vai izmantojot Axioslai lietotu API, ar try-catch blokiem vien var nepietikt. Šādos gadījumos tagad varat integrēt asinhronizēt un gaidīt atslēgvārdus blokos, lai efektīvāk apstrādātu kļūdas.

Šeit ir daži koda paraugi:

app.get('/data', async (req, res) => {
try {
const data = await fetchDataFromDatabase();
res.json(data);
} catch (error) {
console.error('Async Error:', error);
res.status(500).json({ message: 'Error occurred fetching data.' });
}
});

4. Pielāgotas kļūdu apstrādes starpprogrammatūras izveide

Pielāgota kļūdu apstrādes starpprogrammatūra ļauj definēt, kā programma apstrādā kļūdas un to atbilstošās atbildes atbilstoši jūsu lietojumprogrammas prasībām.

Izveidojot kļūdu apstrādes starpprogrammatūras funkcijas, varat centralizēt un pielāgot kļūdu pārvaldību, nodrošinot sakārtotāku un pielāgotāku pieeju kļūdu apstrādei visā lietojumprogrammā.

Šeit ir pielāgota starpprogrammatūras funkcijas koda piemērs:

// Custom middleware for handling not found errors
const notFoundHandler = (req, res, next) => {
const resource = req.params.resource;

if (resource 'users') {
return res.status(404).json({ message: 'User not found.' });
} elseif (resource 'products') {
return res.status(404).json({ message: 'Product not found.' });
} else {
return res.status(404).json({ message: 'Requested resource not found.' });
}
};

app.use('/api/:resource', notFoundHandler);

Šajā piemērā notFoundHandler funkcija pārbauda resursu parametrs pieprasījuma URL. Atkarībā no sniegtās vērtības apdarinātāja funkcija reaģē ar pielāgotiem kļūdu ziņojumiem dažāda veida resursiem, piemēram, lietotājiem un produktiem.

Jebkuram citam resursam, kas nav īpaši apstrādāts, tas nodrošina vispārīgu kļūdas ziņojumu. Alternatīvi, izmantojot šo starpprogrammatūru, varat arī izvēlēties novirzīt lietotājus uz pielāgotām kļūdu lapām, kas palīdz viņiem atrisināt radušās problēmas.

Izmantojot šo pielāgoto kļūdu apstrādes starpprogrammatūru, varat pielāgot kļūdu pārvaldību un atbildes dažādās situācijās, padarot kļūdu apstrādi specifiskāku un informatīvāku.

Ražošanas vidē ir svarīgi ieviest kļūdu reģistrēšanu un uzraudzību, lai sekotu līdzi lietojumprogrammu kļūdām. Daži efektīvi rīki, kurus varat izmantot, ietver Vinstons un Morgans, starp citiem. Šie rīki reģistrē kļūdas failā, centralizētā serverī vai uzraudzības platformā, ļaujot ātri identificēt un atrisināt problēmas.

Tālāk ir sniegts piemērs, kā varat izmantot Winston lietojumprogrammā Express.js kļūdu reģistrēšanai.

const winston = require('winston');
const expressWinston = require('express-winston');

app.use(expressWinston.errorLogger({
// Error logging middleware using Winston
}));

Kļūdu pārvaldība aizmugures lietojumprogrammās

Efektīvu kļūdu pārvaldības metožu un drošu procedūru ieviešana ir būtiska, lai izveidotu stabilas aizmugursistēmas lietojumprogrammas.

Express.js lietojumprogrammās ir svarīgi paredzēt, plānot un ieviest efektīvas kļūdu apstrādes metodes, kas ļaus ātri identificēt, pārvaldīt kļūdas un reaģēt uz tām. Tas garantēs uzticamāku un lietotājam draudzīgāku pieredzi jūsu lietotājiem.