Python Practice Creating and Using Functions in Python Practice Functions Use an External Function

Erin Jedlikowski
Erin Jedlikowski
473 Points

I'm stuck on challenge - entering a 2nd exception and passing in some text.

Feel like I'm missing something basic here...

using_a_function.py
"""
This is importing a function named `tweet` from a file
    that we unfortunately don't have access to change.

You use it like so:
>>> tweet("Hello this is my tweet")

If the function cannot connect to Twitter,
    the function will raise a `CommunicationError`
If the message is too long,
    the function will raise a `MessageTooLongError`
"""
from twitter import (
    tweet,
    MessageTooLongError,
    CommunicationError,
)


message = input("What would you like to tweet?  ")
# Your code here
try:
    tweet(message) 
except CommunicationError as err:
    print("An error occurred attempting to connect to Twitter. Please try again.".format(err))
except MessageTooLongError as err:
    print("Oh no! Your message was too long. ({}).".format.err)  
Rutendo Chaurura
Rutendo Chaurura
6,361 Points

its correct. The code works just fine. try running it again!

1 Answer

Michael Hulet
MOD
Michael Hulet
Treehouse Moderator 47,025 Points

You're really super close here. Your code passes the first 2 steps just fine, but it hangs up on the 3rd. This is because on the last line, you're trying to access a property on the format function called err, but Python doesn't support that kind of thing. err is the error object, so you want to pass it as a parameter to the format function. A great example of how to do this is just 2 lines higher in your code, on the line where you print a message about a CommunicationError. Also, it isn't really necessary on that line, so if you delete it from that line and fix it on the last line, your code passes the challenge just fine. Great job!