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

Mark Sciaruto
Mark Sciaruto
2,944 Points

My code seems to be correct but I keep getting an AssertionError: False is not true

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:
    print("An error occurred attempting to connect to Twitter. Please try again!")

try:
    tweet(message)
except CommunicationError:
    print("An error occurred attempting to connect to Twitter.  Please try again! ")
except MessageTooLongError as err:
    print("Oh no! Your message was too long ({})".format(err))

4 Answers

Hi Mark

You have written this block twice:

try:
    tweet(message)
except CommunicationError:
    print("An error occurred attempting to connect to Twitter. Please try again!")

Just remove one block of this and you should pass the challenge.

Hope this helps!

Just tried the challenge again and this passed for me:

from twitter import (
    tweet,
    MessageTooLongError,
    CommunicationError,
)


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

I guess the are several possible solutions :)

Mark Sciaruto
Mark Sciaruto
2,944 Points

Can't believe I missed that. Thank you!!

Mel Rumsey
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree seal-36
Mel Rumsey
Treehouse Staff

I'm not sure if you got that to work, but I was going through my notes on Expecting Exceptions and this is how I wrote it and it passed. Happy Coding!

from twitter import (
    tweet,
    MessageTooLongError,
    CommunicationError,
)


message = input("What would you like to tweet?  ")
try:
    if len(message) >= 280:
       raise MessageTooLongError("Your message is greater than 280 characters. Please Try again.")
    tweet(message)
except CommunicationError:
    print("An error occurred attempting to connect to Twitter. Please try again!")
except MessageTooLongError as err:
    print("({})".format(err))