- The try/finally cmpound statement lets you run cleanup code regardless of whether exceptions were riased in the try block
Effective Python
try:
# Excute at the beginning
except Exception as e:
# Execute if an exception is riased in try block.
else:
# Execute if try block does not raise exception.
# Allow user to write code which cause exception here in order to propagate exception to upper stack.
finally:
# Executed at the end anyway.
def load_json_key(data, key):
try:
result_dict = json.loads(data) # May raise ValueError
except ValueError as e:
raise KeyError from e
else:
return result_dict[key] # May raise KeyError
Recommended Posts