FAQ: Learn JavaScript: Error Handling - Handling with try...catch

This community-built FAQ covers the “Handling with try…catch” exercise from the lesson “Learn JavaScript: Error Handling”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Web Development

FAQs on the exercise Handling with try…catch

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

So the main point of the try…catch in this exercise, is to demonstrate that by catching the error, you are still able to continue running your code to the end?

That’s correct. Instead of letting the interpreter handle the error, we do that in our code and flow is unbroken.

let u;
let e = "";
do {
    u = prompt(e + "Enter a number between 0 and 100");
    try {
        if (u > 0 && u < 100) {
            u = +u;
        if (u === null) {
        throw 'anException';
    catch(error) {
        e = "Try again... "
} while (true);

There are no real exceptions in this code so we have to throw one. Since JS is loosely typed, number operations either result in a number, or NaN and JS churns along either way.

When using prompt() we need to test for null to see if the Cancel button was clicked or the Esc key pressed.

There are of course many ways to approach this problem with exception handling. This is by no means a conclusive example.

i have different types of errors, e.g. syntax error, reference error but my catch function never worked for these errors. but only for the one that’s given in the exercise…
i didnt understand, if try… catch doesnt work for all kinds of errors, then what’s the point?

Syntax errors are found during parsing. They are not run-time errors. Try-catch is for working around possible run-time errors such as mismatched types, reference errors, division by zero, and so on.

1 Like

I saw try catch in some codes but a thing idk is where exact we should use that?
in every block of code?

1 Like

so what do we do with our error or what advantage does try and catching the error offer more than the normal built in error function which will easily give the error. ofr built in error type?

If the error is predictable, meaning we might expect it then catching the error lets us handle how it is addressed without throwing a fatal error. This allows the program to continue and the user can be prompted for new input for another go around.

When the error is unforeseen, meaning it is likely a bug in the code, then we would be better off to let the interpreter/compiler catch it and throw a fatal error from which we can garner details of the cause and where it was caught. We can use that information to go into the code and locate/correct the bug.

This speaks to extensive testing before releasing code to the production world. We need to catch all the unforeseen errors and fix them so that the only possible errors are the user caused ones as described earlier.

1 Like

now it makes sense! thank you

1 Like