FAQ: Control Flow - Try and Except Statements

#1

This community-built FAQ covers the “Try and Except Statements” exercise from the lesson “Control Flow”.

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

Computer Science
Data Science

FAQs on the exercise Try and Except Statements

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!

#2

I think I understand. This one is tricky because in the example the try except statements are part of the function. In the exercise they are not. Does that sound right?

#3

Agree, the sample code and lesson did not provide enough to complete the exercise. I set it up like the sample and had to use the hints to figure it out. It made sense after I used the hints. Basically it…calls the function created with the value created which will throw an exception and then prints the error message.

3 Likes
#4

In the lesson, we are taught that “try” and “except” statements are used to check for possible errors a user might encounter. However, I suppose that the process of checking errors does not fulfill the final scope of any control flow, but it is just used complementary in order to write a clean code without errors.
If this right, I would expect that “try” and “except” statements would be used in conjuction with other statements such as “if, else” etc, all written in the same code/function.
So, my question is , which is the right order to combine all these statements when writing the parts of a function? Could you please give an example?

#5

the vital piece of information missing here is that we can also throw exceptions:

def validate_username(username):
    if ( len(username) < 5 ):
        raise Exception("Username to short")
    
    
def main():
    username = raw_input("input username: ") # replace with input if you use python3
    try:
  	    validate_username(username)
    except Exception as e:
        print(e)
main()

this also explains what happens when exceptions occur.

you could expand the validate_username() function with a lot more exceptions, so then the control flow logic (if, elif, else) is within the validate_username, then other people can use your function handle the exception as they like.

1 Like