JavaScript

Javascript Încercați captura

Javascript Încercați captura

Javascript este un limbaj de programare translativ. La fel ca orice alt limbaj, un dezvoltator sau programator trebuie adesea să aibă grijă de gestionarea erorilor. În principal, un programator sau dezvoltator trebuie să gestioneze erorile în timp ce accesează sau atribuie unele date la baza de date. Deci, gestionarea erorilor este o parte esențială a oricărui proiect de programare. Există trei tipuri de erori în programare pe care un programator sau dezvoltator trebuie să le facă față adesea.

Eroare de sintaxă - O eroare la scrierea codului împotriva sintaxei limbajului de programare. De exemplu, lipsesc un punct și virgulă sau nu respectați convenția de a crea și a apela funcția.

Eroare logică - O eroare în construcția logică. De exemplu, implementarea unei operații aritmetice greșite, care are ca rezultat o ieșire greșită.

Eroare de rulare - A apărut o eroare în timpul rulării. De exemplu, apelarea unei funcții fără a o declara.

Eroarea pe care o primim în timpul rulării este, de asemenea, cunoscută sub numele de excepție. Manipularea excepțională este foarte importantă. Pentru că nu putem arunca imediat erorile și codurile de eroare. Trebuie să ne ocupăm de asta. Deci, în acest articol, vom înțelege cum să gestionăm excepțiile folosind blocul try-catch al javascriptului. Vom învăța, de asemenea, cum să aruncăm un mesaj personalizat împotriva unei erori și cum să folosim blocul „în sfârșit” cu un bloc try-catch.

Sintaxă

Sintaxa pentru utilizarea unui bloc try-catch este foarte simplă și ușor de utilizat. Putem folosi pur și simplu blocul try-catch astfel

încerca
// cod de încercat sau testat
arunca // aruncă o eroare personalizată pentru a prinde
captură (eroare)
// cod după ce a primit o eroare
in cele din urma
// cod care se execută în orice caz

În această sintaxă, mai întâi scriem câteva linii de cod în blocul „try” pentru a testa. Dacă codul respectiv este executat sau a trecut testul cu succes. Blocul „încearcă” nu va arunca nicio eroare în blocul „captură” și execută blocul „în sfârșit”. În caz contrar, va arunca o eroare în blocul „catch” unde putem gestiona excepțiile în conformitate cu eroarea dată. Putem arunca o eroare personalizată în blocul „catch” folosind și cuvântul cheie „throw”. Blocul „În cele din urmă” va fi executat în orice caz. Fie blocul „încercați” aruncă oricare sau nu. Să încercăm câteva exemple pentru a înțelege mai bine.

Exemple

În primul rând, pentru a demonstra funcționarea simplă și de bază a blocului try-catch. Încercăm să apelăm o funcție fără a o declara nicăieri.

plus()

Cu siguranță va arunca o eroare în consolă


Dar, dacă încercăm să-l numim într-un bloc de încercare acum

încerca
plus()
captură (eroare)

Nu va mai afișa nicio eroare în consolă, deoarece nu am scris niciun cod în blocul de captură pentru eroare. Deci, putem modifica și consola mesajul de eroare din blocul de captare acum.

încerca
plus()
captură (eroare)
consolă.jurnal ("Mesaj de eroare =>" + eroare)

Putem vedea mesajul nostru personalizat în consolă împotriva erorii.


Deci, aceasta este utilizarea de bază a blocului try-catch. Acum, să aflăm despre aruncarea unei erori personalizate în blocul try.

Arunca

Să presupunem că vrem să aruncăm o altă eroare personalizată pe baza diferitelor erori în timp ce încercăm. Putem arunca o eroare personalizată, că „Definiția funcției nu există." Ca aceasta

încerca
aruncă o nouă eroare („Definiția funcției nu există”)
prinde (greșește)
consolă.jurnal ("Mesaj de eroare =>" + eroare)


După cum puteți vedea în rezultat, mesajul de eroare este acum schimbat în eroarea noastră personalizată aruncată.

ProTip

Să presupunem că încercăm să aplicăm acest try-catch pe o funcție asincronă. Nu va funcționa. Deoarece motorul s-ar fi mutat pe linia următoare, executați blocul final și funcția asincronă va fi executată mai târziu. De exemplu, dacă aplicăm funcția setTimeout într-un bloc try-catch.

încerca
setTimeout (() =>
plus();
, 3000)
prinde (greșește)
consolă.jurnal ("Mesaj de eroare =>" + eroare)
in cele din urma
consolă.jurnal (blocul „a ajuns„ în cele din urmă ”)


Puteți observa că blocul „în sfârșit” se execută mai întâi, iar eroarea este aruncată mai târziu dacă ne uităm la eroare. Nu este o eroare din blocul de captură, dar este o eroare de programare originală, ceea ce înseamnă că blocul de captare nu se execută deoarece încercați blocul nu a găsit nicio eroare.

Bine! Acum, dacă vrem să o facem să funcționeze. Trebuie să aplicăm blocul try-catch în funcția setTimeout în loc de exterior. Deci, adevăratul mod de a implementa o funcție asincronă cu un bloc try-catch ar fi așa.

setTimeout (() =>
încerca
plus();
prinde (greșește)
consolă.jurnal ("Mesaj de eroare =>" + eroare)
in cele din urma
consolă.jurnal (blocul „a ajuns„ în cele din urmă ”)

, 3000)


Puteți observa în ieșire că după întârzierea de 3 secunde din cauza funcției setTimeout. Mai întâi primim mesajul de eroare din blocul de captură, apoi blocul „în sfârșit” este executat.

Concluzie

În acest articol, am învățat să implementăm blocul try-catch pas cu pas în javascript într-un mod atât de ușor și profund încât orice începător după ce a citit acest articol ar putea să-l aplice oriunde are nevoie. Așadar, continuați să învățați și să obțineți experiență în javascript cu linuxhint.com. Mulțumesc!

WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...
Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...