Inleiding tot fouten in JavaScript
Laten we beginnen te bespreken wat "fout" betekent in een programmeertaal, met name in JavaScript. Een fout kan worden gedefinieerd als een fout, of een onjuiste verklaring of verkeerde interpretatie of een fout, maar deze definitie is niet precies correct bij het ontwikkelen van een programma. Bij het programmeren is een fout een gedeelte of een deel van de code dat de normale stroom van het programma onderbreekt. In elke programmeertaal zijn er meestal drie soorten fouten die je kunt tegenkomen,
- Compileer tijdfouten
- Logische fouten
- Runtime-fouten.
We zijn vaak bang als we met fouten geconfronteerd worden, maar fouten zijn goed omdat we leren hoe we iets niet moeten doen en hoe we het de volgende keer beter kunnen doen.
Als het script in JavaScript een fout genereert, stopt de JavaScript-interpreter de uitvoering van het programma op dat moment en geeft die fout in de browserconsole weer samen met de fout en het regelnummer waar het in het bestand optrad. De enige manier waarop we onze JavaScript kunnen debuggen, is door de fouten en waarschuwingen zo goed mogelijk te gebruiken en de reden erachter te vinden.
Soorten fouten in JavaScript
Een fout kan al dan niet fataal zijn voor onze applicatie, afhankelijk van het soort fout dat we tegenkomen. Er zijn zes soorten fouten die meestal voorkomen in JavaScript -
- Eval Error
- Bereikfout
- Referentiefout
- Syntax error
- Typefout
- URI-fout
Laten we elk van deze fouten in detail bespreken.
Foutnaam |
Beschrijving |
EvalError | Er is een fout opgetreden in de functie eval () |
RangeError | Er is een nummer "buiten bereik" opgetreden |
ReferenceError | Er is een illegale referentie opgetreden |
Syntax error | Er is een syntaxisfout opgetreden |
Typefout | Er is een typefout opgetreden |
URIError | Er is een fout opgetreden in encodeURI () |
1. EvalError: geeft een fout aan in de algemene functie eval (), dwz dat de functie eval () op een onjuiste manier wordt gebruikt. Nieuwere versies van JavaScript werpen deze fout niet meer op, in plaats daarvan wordt de syntaxisfout gebruikt.
2. RangeError: deze fout wordt gegenereerd wanneer een parameter of een waarde (numeriek) buiten het toegestane bereik valt of deze overschrijdt.
3. ReferenceError: deze fout wordt gegenereerd wanneer we verwijzen naar een variabele die niet bestaat (er wordt een ongeldige verwijzing gebruikt), dwz dat die variabele niet is gedeclareerd. Het is een van de meest voorkomende en vaak voorkomende fouten.
4. SyntaxError: deze fout geeft aan dat de syntaxis van het script ongeldig is, dat wil zeggen dat er een syntactische onjuiste verklaring in de code aanwezig is. Wat betreft syntaxisfouten, een geïnterpreteerde taal zoals JavaScript zal deze niet gooien totdat het script is geladen en gelezen door de browser.
5. TypeError: deze fout wordt gegenereerd wanneer een waarde niet van het juiste type is zoals verwacht of een ongeldig gegevenstype wordt gebruikt om een variabele aan te geven of te definiëren. Voorbeeld: een numerieke berekening uitvoeren op Stringvariabele of object.
6. URIError: deze fout geeft het gebruik aan van illegale tekens die ongeldig zijn in URI-gerelateerde methoden / functies (encodeURI () of decodeURI ()).
Omgaan met fouten in JavaScript
Wanneer er een fout optreedt, weten we dat het script stopt met uitvoeren, tenzij we deze fouten in het script zelf verwerken, om de normale programmastroom niet te verstoren. De verschillende manieren waarop we deze fouten kunnen verwerken, zijn:
try …. catch block
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
)
Tenslotte
In sommige situaties zijn er bepaalde gedeelten van het script die moeten worden uitgevoerd, ongeacht of er een fout optreedt, en dat gedeelte van de sectie moet in een slotblok worden geschreven.
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
) finally(
//mandatory statements to run
)
Promises
Beloften worden gebruikt om asynchrone bewerkingen af te handelen die tot een fout kunnen leiden. Ze kunnen meerdere asynchrone bewerkingen beheren en zorgen voor betere oplossingen voor foutafhandeling in vergelijking met callbacks en gebeurtenissen.
var promise = new Promise(
function(resolve, reject)(
//do something
)
);
Voorbeeld:
function captureErrorTypes() (
try (
var sum = x + y;
alert(sum);
) catch(error) (
switch (error.name) (
case 'SyntaxError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
case 'RangeError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
case 'ReferenceError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
default:
alert("caught a " + error.name + ": " + error.message);
//handle all other error types here…
break;
)
)
)
Aanbevolen artikelen
Dit is een gids voor fouten in JavaScript. Hier bespreken we de JavaScript-fouten en wat het betekent in elke programmeertaal, samen met het type dat meestal voorkomt in JavaScript. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -
- Werken van inkapseling in JavaScript
- JavaScript-compilers
- Hoe werkt While Loop in Javascript?
- Waarom is JavaScript hoofdlettergevoelig, maar HTML niet?
- Gooien versus Gooien | Top 5 verschillen die u moet weten
- Top 10 versies van Java met functies