- else
Exceptions else
- The else part will be execute after each successful "try". (So when there was no exception.)
examples/exceptions/else.py
import sys import module # python else.py one.txt zero.txt two.txt three.txt files = sys.argv[1:] for filename in files: try: module.read_and_divide(filename) except ZeroDivisionError as err: print("Exception {} of type {} in file {}".format(err, type(err).__name__, filename)) else: print("In else part after trying file {} and succeeding".format(filename)) # Will run only if there was no exception. print()
before one.txt 100.0 after one.txt In else part after trying file one.txt and succeeding before zero.txt Exception division by zero of type ZeroDivisionError in file zero.txt before two.txt Traceback (most recent call last): File "else.py", line 9, in <module> module.read_and_divide(filename) File "/home/gabor/work/slides/python-programming/examples/exceptions/module.py", line 3, in read_and_divide with open(filename, 'r') as fh: FileNotFoundError: [Errno 2] No such file or directory: 'two.txt'