Errors in programming can be categorized into three types: Syntax Errors, Runtime Errors, and Logical Errors.
Syntax Errors
Syntax errors, also known as parsing errors, occur during compilation or interpretation:
<script type="text/javascript"> window.print(; // Syntax error: missing closing parenthesis </script>
When a syntax error occurs in JavaScript, only the affected thread stops, allowing other threads to continue.
Runtime Errors
Runtime errors, or exceptions, occur during script execution:
<script type="text/javascript"> window.printme(); // Runtime error: calling a non-existing function </script>
Exceptions affect the thread they occur in, but other JavaScript threads can continue normally.
Logical Errors
Logical errors are mistakes in the logic of your script, resulting in unexpected behavior:
These errors are not syntax or runtime errors and depend on business logic.
The try...catch...finally Statement
JavaScript supports exception handling with try...catch...finally blocks:
<script type="text/javascript"> try { // Code to run } catch (e) { // Code to handle exception } finally { // Code that always executes } </script>
The try block must be followed by either a catch block, a finally block, or both.
Examples
Example demonstrating try...catch to handle a runtime error:
<script type="text/javascript"> function myFunc() { var a = 100; try { alert("Value of variable a is : " + a); window.printme(); // Trying to call a non-existing function } catch (e) { alert("Error: " + e); } } </script>
The throw Statement
The throw statement allows you to create custom exceptions:
<script type="text/javascript"> function myFunc() { var a = 100; var b = 0; try { if (b == 0) { throw("Divide by zero error."); } else { var c = a / b; } } catch (e) { alert("Error: " + e); } } </script>
The onerror() Method
The onerror event handler provides information about errors occurring on a page:
<script type="text/javascript"> window.onerror = function(msg, url, line) { alert("Message: " + msg); alert("URL: " + url); alert("Line number: " + line); } </script>
It helps in identifying and handling errors that occur during script execution.
Comments
Post a Comment