Python/Python

[Python] 20. 예외처리

구름솜:D 2024. 9. 8. 16:02
728x90

오류vs예외처리

구문오류(syntax error) : 프로그램 실행 전 발생하는 오류 

- 프로그램의 문법적인 오류로 프로그램이 실행되지 않는 것, 오류를 해결하지 않으면 프로그램 자체가 실행되지 않음

- 조건문이나 try-except문으로 해결 불가능

예외처리(exception) : 프로그램 실행 중 발생하는 오류

- 프로그램에 문법적인 오류는 없기에 프로그램이 실행되지만 특정 지점에서 오류가 발생하는 것

- 조건문이나 try-except문으로 해결 가능

 

try-except문

try) 예외가 발생할 가능성이 있는 코드

except) 예외가 발생했을 때 실행하는 코드

else) 예외가 발생하지 않았을 때 실행하는 코드

finally) 예외 발생 여부에 상관없이 무조건 실행되는 코드

try:
    a = int(input())
except:
    print("정수입력X")
else:
    print(a)
finally:
    print("종료")
#a에 정수를 입력한 경우
1
종료

- a에 정수를 정상적으로 입력한 경우 예외가 발생하지 않아 else구문 실행

- finally구문은 예외의 발생 여부에 상관없이 실행

#a에 정수를 입력하지 않은 경우
정수입력X
종료

- a에 정수를 정상적으로 입력하지 않은 경우 예외가 발생해서 except구문 실행

- finally구문은 예외의 발생 여부에 상관없이 실행