خروجی کد زیر چیه؟
1 2 3 4 5 6 7 8 9 10 |
l = [1, 2, 3] try: print(l[3] / 0) except (IndexError, ZeroDivisionError): print("exc") else: print("else") finally: print("final") |
طبق حدثم:
1 2 3 |
C:\code\interview>python test.py exc final |
ولی else چی میگه
1 2 3 4 5 6 7 8 9 10 |
l = [1, 2, 3] try: print(l[1] / 1) except (IndexError, ZeroDivisionError): print("exc") else: print("else") finally: print("final") |
خروجی:
1 2 3 4 |
C:\code\interview>python test.py 2.0 else final |
یعنی اگه Exception اتفاق نیوفته else هم اتفاق میوفته. در هر حالتی finally اتفاق میوفته