프로그래밍을 하다가 나는 오류에는 크게 두 가지 종류가 있다.
syntax error는 괄호 개수, 들여쓰기 이슈 등으로 발생하는 오류다. 프로그램을 실행하려고 하면 아예 실행이 안되고 SyntaxError: 어쩌고 라고 뜬다. 오류를 해결하지 않으면 프로그램 자체가 실행되지 않는 것이다.
exception은 실행 중에 발생하는 오류이기 때문에, 일단 프로그램이 돌아가긴 한다. 돌아가다가 특정 부분에 도달하면 에러가 뜨는 것이다.
예외가 발생할 상황을 모두 예측할 수 없기 때문에 예외 처리에 if~else와 같은 조건문을 활용하는건 현실적으로 불가능하다. 그래서 예외 처리를 위해 만들어진 구문인 try-except를 사용한다!
try:
예외 발생할 가능성이 있는 코드
except:
예외 발생했을 때 실행할 코드
try-except 구문을 통해 어떤 상황에 예외가 발생하는지 하나하나 기억하고 있지 않아도, 프로그램이 강제로 종료되는 현상을 막을 수 있다!
try:
예외 발생할 가능성이 있는 코드
except:
pass
어떤 부분에서 예외가 발생하는지 정확히 모를 때 주로 사용한다.
('일단 예외가 나는걸 막긴 하자' 이런 느낌?)
try:
예외 발생할 가능성이 있는 코드
except:
예외 발생했을 때 실행할 코드
else:
예외가 발생하지 않았을 때 실행할 코드
이 구문을 사용할 때는 보통 예외가 발생할 가능성이 있는 코드만 try에 넣고 나머지는 다 else로 뺀다.
try:
예외 발생할 가능성이 있는 코드
except:
예외 발생했을 때 실행할 코드
else:
예외가 발생하지 않았을 때 실행할 코드
finally:
무조건 실행할 코드
finally에는 예외가 발생하든 발생하지 않든 무조건 실행할 코드를 적어준다.