Day 20: Consolidation 3
Lesson 1: Errors
Throw
Errors are created and thrown like this:
To gracefully deal with an error you should use a try/catch.
Anything thrown in the try
block with be caught by the catch
block. If you don't have a catch block, the error will propagate up through your application until it finds a catch block in it's scope, or until the browser catches it and displays it in the console.
Remember that any function in your try
block can throw an error, these will also be caught by your catch
block if they don't have their own try/catch to handle it.
Catch
The catch block also takes an argument, generally named e
, err
or error
(it's up to you as the developer what you want to call it, you could all it eggs
but that wouldn't make much sense)
When ever an error is thrown in a try
block it will stop the execution of the code in and jump to the catch. So anything after the line that throws isn't executed.
Finally
Try/Catch are two legs of the Try/Catch/Finally tripod that looks like this:
1try { 2 // try code 3} catch (error) { 4 // catch code 5} finally { 6 // finally code 7}
try
is where we run our potentially risky code.
catch
is where we run and process any errors that get thrown
finally
is always run regardless of if an error was thrown or not.
Finally will run no matter if the try block successfully completed or if the catch block got run by a thrown error.