EP 13 Take Advantage of Each Block in try / except / else / finally

  • 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

EP 13 Take Advantage of Each Block in try / except / else / finally
EP 13 Take Advantage of Each Block in try / except / else / finally
Impressions of people with experience in other languages learning Python using PyQ
Trends in programming languages from the perspective of GitHub (updated semi-annual changes)
python try ~ except ~ else
[Short text] When returning in both try clause, except clause and finally clause