JS TutorialLesson #112

JavaScript Errors

When executing JavaScript code, different errors can occur.

Errors Will Happen!

When executing JavaScript code, different errors can occur.

Errors can be coding errors made by the programmer, errors due to wrong input, and other unforeseeable things:

  • Reference Errors
  • Type Errors
  • Range Errors
  • URI Errors
  • Syntax Errors
  • Eval Error (deprecated)
  • Silent Errors (next chapter)

How to Handle JavaScript Errors

The try statement allows you to define a block of code to be tested for errors while it is being executed.

The catch statement allows you to define a block of code to be executed, if an error occurs in the try block.

The JavaScript statements try and catch come in pairs:

Example

Example Code

css
Try it Yourself
try {

    Block of code to try

} catch(err) {

    Block of code to handle errors

}

Reference Errors

A ReferenceError occurs if you use (reference) a variable that does not exist.

Error TypeExampleError
ReferenceErrorfname = foo;foo is not defined
ReferenceErrorlet x = y; let y = 5;Cannot access y before initialization

Examples

Example Code

javascript
Try it Yourself
let x = 5;

try {

  x = y + 1;

} catch(err) {

  let text = err.name;

}

JavaScript Type Errors

A Type Error occurs when a value is of the wrong type or an operation is invalid on that type.

ErrorExampleError Message
TypeErroranna(5);anna is not a function
Type Errorlet num = 1; num.toUpperCase();num.toUpperCase is not a function

Examples

Example Code

javascript
Try it Yourself
let anna = 5;

try {

  anna(5);

} catch(err) {

  let text = err.name;

}

JavaScript Range Errors

A RangeError occurs when a value is out of its valid range.

Error TypeExampleError Message
RangeErrornew Array(-1);Invalid array length
RangeErrornum.toPrecision(500);toPrecision() argument must be between 1 and 100

Examples

Example Code

javascript
Try it Yourself
try {

  new Array(-1);

} catch(err) {

  let text = err.name;

}

JavaScript URI Errors

(Uniform Resource Identifier Errors)

An URIError occurs if you use illegal characters in a URI function:

Error TypeExampleError Message
URIErrordecodeURI("%%%");URI malformed

Example

Example Code

javascript
Try it Yourself
try {

    decodeURI("%%%");   // You cannot URI decode
  percent signs

} catch(err) {

  document.getElementById("demo").innerHTML = err.name;

}

JavaScript Syntax Errors

A Syntax Error occurs when the code violates JavaScript's grammar rules.

ErrorExampleError
SyntaxErrorfname = "John);Invalid or unexpected token )
SyntaxErrorMath.round(4.6;Missing ) after argument list

Example

Example Code

html
Try it Yourself
// This line cannot be parsed by JavaScript

let fName = "John);

// Execution stops here

The statement above will generate the error: Invalid or unexpected token

Execution of the program will stop!

Syntax Errors are Not Catchable > Syntax errors are not catchable by try...catch > Syntax errors happen before runtime

Example

Example Code

html
Try it Yourself
try {

  let x = Math.round(4.6;)

} catch(err) {

  let text = err.name + " " + err.description;

}

Syntax Issue

Example

Example Code

html
Try it Yourself
Math.round(4.6;)

The line above is syntactically invalid JavaScript. There is an extra semicolon inside the parentheses. The correct syntax should be: ### Example ``html Math.round(4.6); `` ## Why The point is how the browser handles syntax errors:

The JavaScript engine throws a SyntaxError before running the script.

Syntax errors are caught before the try...catch block executes.

This means the try block never starts. The script just fails to run (no let text = update).

The browser console (F12 → Console tab) would show something like: > Uncaught SyntaxError: missing ) after argument list.

JavaScript Eval Error

An EvalError indicates an error in the eval() function.

Newer versions of JavaScript do not throw EvalError. > Use SyntaxError instead.

See Also: > JavaScript Silent Errors > JavaScript Error Statements > JavaScript Error Object > JavaScript Debugging


Interactive Code Examples

Example 1

css
Try it Yourself
JavaScript syntax and algorithm demonstration.
try {

    Block of code to try

} catch(err) {

    Block of code to handle errors

}

Examples

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let x = 5;



try {

  x = y + 1;

} catch(err) {

  let text = err.name;

}

Examples

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
let anna = 5;

try {

  anna(5);

} catch(err) {

  let text = err.name;

}

Examples

javascript
Try it Yourself
JavaScript syntax and algorithm demonstration.
try {

  new Array(-1);

} catch(err) {

  let text = err.name;

}

JS Example 5

javascript
Try it Yourself
Interactive runnable JavaScript example from EA Academy.
Live Output Preview:

JS Example 6

html
Try it Yourself
JavaScript syntax and algorithm demonstration.
// This line cannot be parsed by JavaScript

let fName = "John);



// Execution stops here