1 def division(num1, num2):
2
3 try:
4 num1 / num25
5
6 except ZeroDivisionError:
7 return -1
8
9
10 finally:
11 print("답")
12
13 return num1/num2
print(division(0, 0))
위 예외처리가 동작하는 방식은
먼저 3번라인 try: 에서 검토를하고 예외가 발생하지않으면 6번라인을 건너뛰고 13번라인 return num1/num2 으로 넘어가 바로 값이 리턴된다.
하지만 3번라인 try: 에서 검토를했는데 ZeroDivisionError가 발생하면 6번라인의 except ZeroDivisionError: 이 실행되고 해당함수내에 설정된 -1이 리턴되고 종료된다.
10번라인의 finally: 는 예외가 발생하든 하지않든 항상 먼저 실행된다.
결과
답
-1