FAQ: Control Flow - Exception

This community-built FAQ covers the “Exception” exercise from the lesson “Control Flow”.

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

Learn How To Code

FAQs on the exercise Exception

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!

I just wanted to ask if it is possible to explain how the computer would be able to identify whether something is valid (i.e. how does it know the address truly exists vs if the address is fake? same with email address). Is there a specific coding that we must implement in order to figure this out or is it mapped out separately somehow?

https://www.codecademy.com/paths/code-foundations/tracks/learn-how-to-code/modules/bop-ii/lessons/bop-control-flow/exercises/exception

3 Likes

What is the primary difference between conditional structures and exception structures?

3 Likes

what is the difference between conditional and exception structures?

A conditional is a control flow construct such as,

if condition:

while condition:

whereas try..except is an error trap that first tries to execute some code, which if it fails to run (raises an exception) will first loop through the except block and if the error isn’t handled there it will halt the program with the raised exception.


>>> a = 100
>>> b = 0
>>> try:
    print (a / b)
except ZeroDivisionError:
   print ('Cannot divide by zero')

   
Cannot divide by zero
>>> 
1 Like

I’ve suddenly got a question. Isn’t an exception control structure a part of a conditional control structure?
Let’s take for example the JS conditionals.

if (answer === 2) {
  return 'Correct';
} else {
  return 'Incorrect';
}
   

We have two sets of instructions -“if” and “else” statements. The first instruction is being executed and an error occurs - the “answer” variable doesn’t equal 2. Then an else statement is executed.

Isn’t the “if/else” statement a set of conditional (if) and exception (else) control structures?

conditions and exceptions are both control structures, they both change the flow of your program

however, implementing exceptions offers much more flexibility to handle errors in our program. You could implement methods within the exception classes, you could use inheritance.

Yes, I understand. But I wanted to ask:

If we look at the if/else JS statement, do the “if” and “else” statements represent a conditional control structure and an exception control structure respectively? Or the if/else statement is still a conditional control structure as a whole?

IF is conditional, ELSE is not. The statement is a control flow structure barring any possible exceptions that may be raised such as TypeError, etc.

Exception handling is less about control flow and more about avoiding fatal errors that will break the user experience or possibly produce erroneous data outcomes. We can ward off exceptions with careful control over our data values by writing conditionals that catch any invalid inputs (or outputs). For the ones we cannot control, then we can intervene by trapping exceptions and implementing suitable rerouting code that bypasses the fatal error.