JavaScript / NodeJS aruncă automat erori?

Mă întreb dacă (pentru JavaScript/NodeJS sincron) are sens să înconjur întregul cod cu try { .. } catch (e) { .. }, chiar dacă eu însumi nu arunc nicio eroare în codul meu JavaScript/NodeJS.

JavaScript/NodeJS aruncă automat unele excepții în cazurile de eroare, așa cum face, de exemplu, Java?


person oskar1983    schedule 07.08.2014    source sursă
comment
Sigur, erori de referință, erori de sintaxă, erori de tip, tot felul de erori. Nu includ, desigur, API-urile care aruncă erori în cazul utilizării incorecte.   -  person Benjamin Gruenbaum    schedule 07.08.2014


Răspunsuri (1)


Da, da.

Încercați ca cod:

eval("bla bla bla");
undefined.nomore;

Consultați https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error pentru mai multe informații.

person Zlatin Zlatev    schedule 07.08.2014
comment
Am crezut că 1/0 ar trebui să evalueze la Infinity? - person Ben; 07.08.2014
comment
ai perfecta dreptate. Am uitat de Infinity și NaN :) - person Zlatin Zlatev; 07.08.2014
comment
Ei bine, bla bla bla nu va arunca nicio excepție. Este o eroare de sintaxă. - person georg; 07.08.2014
comment
Mulțumiri! Și toate aceste erori pot fi detectate prin încercare/prindere? Înseamnă că nu există nicio șansă de a le prinde dacă apar în cod asincron? (de exemplu, erori de programare) - person oskar1983; 08.08.2014