프로그램을 만들다 보면 수없이 많은 오류를 만나게 된다.
자바에서는 오류 발생 시 대처하는 try-catch를 사용했는데 파이썬에서는 어떻게 사용하는지 방법을 알아 보았다.
예외처리
- 오류를 처리 할 수 있게끔 지원 한다.
- 프로그램의 정상적인 흐름 → 예외발생 → 예외처리 (프로그램의 실행을 계속 할 수 있는 다른 경로를 제공한다.)
- try: 실행문1, 실행문2 ...
except 발생오류 as 오류변수: 에러가 났을 때에 실행 할 실행문 - 에러 종류
- IOError : 파일을 열 수 없을때 발생
- ImportError : 파이썬 모듈을 찾을 수 없을때 발생
- ValueError : 연산이나 내장함수에서 인수가 적절치 않은 값을 가지고 있을때 발생
- KeyboardInterrupt : 사용자가 인터럽트키 누르면 발생 (delete, ctrl+c)
- EOError : 내장 함수가 파일의 끝을 만나면 발생
예외처리 코드
1. 오류 발생
10/0
결과
ZeroDivisionError: division by zero
2. 예외처리
try:
a = 10 / 0
except ZeroDivisionError as e:
print(e)
결과
division by zero
3. 인덱스 오류 예외처리
a = [1, 2, 3, 4, 5]
b = 2
try:
print(a.index(b))
except:
print('인덱스 오류')
결과
1
a = [1, 2, 3, 4, 5]
b = 6
try:
print(a.index(b))
except:
print('인덱스 오류')
결과
인덱스 오류
4. 오류종류 모를 때 예외처리(최상위인 Exception 사용), 오류가 나더라도 반드시 실행해야하는 것 : finally사용!!
try:
print(a.index(b))
except Exception as e:
print('인덱스 오류')
else:
print('오류가 없으면 실행')
finally:
print('오류가 나더라도 꼭! 실행')
결과
인덱스 오류
오류가 나더라도 꼭! 실행
728x90