Skip to content Skip to sidebar Skip to footer

What Is The Point Of Re-raising Exceptions?

So I've seen mention elsewhere of using the following to re-raise an exception. try: whatever() except: raise What is the purpose re-raising an exception? Surely an uncaug

Solution 1:

Your example code is pointless, but if you wanted to perform logging or cleanup that only occurs on failure, you could put that between the except: and the raise and you'd do that work and then proceed as if the original exception was bubbling normally.

Solution 2:

Imagine the following code.

A little setup: You are responsible for maintaining a huge database of information for example, and any loss of data would be catastrophic!

huge_dictionary = {'lots_of_important':['stuffs']}
try:
    check_data(new_data) #make sure the data is in the correct format
    huge_dictionary['lots_of_important'].append(new_data)
except:
    data_writer.backup(huge_dictionary)
    data_writer.close()
    #and any other last second changesraise

Post a Comment for "What Is The Point Of Re-raising Exceptions?"