예외 처리
코드 실행 중 예기치 않은 오류로 프로그램이 종료될 수 있습니다. 이럴 땐 로그를 확인하고 어떤 예외가 발생했는지 파악하는 것이 중요합니다. 쉽게 예측할 수 있는 예외라면 조건문을 사용해 예외를 처리할 수 있습니다. 하지만, 수많은 예외를 모두 예측할 수는 없겠죠. 예외가 발생하기 쉬운 코드에 적용할 수 있는 예외 처리 방법이 있습니다. 파이썬에서 예외 발생을 방지하거나 해결하기 위해서는 다음과 같은 방법들을 사용할 수 있습니다. 우선, 파이썬에서 발생할 수 있는 예외에 대해 살펴봅시다.
예외의 종류
Exception
- ArithmeticError (수학 연산 관련)
- ZeroDivisionError (0으로 나눌 때)
- OverflowError (값이 너무 커서 표현 불가)
- FloatingPointError (부동 소수점 연산 예외)
- LookupError (잘못된 키나 인덱스 접근)
- IndexError (잘못된 인덱스)
- KeyError (잘못된 키)
- ValueError (적절하지 않은 값)
- TypeError (잘못된 데이터 타입)
- IOError (입출력 오류)
- FileNotFoundError (파일이 없음)
- PermissionError (파일 접근 권한 부족)
- ImportError (모듈이 없음)
- NameError (변수가 없음)
이외에도 여러 가지 예외들이 있습니다.
try - except
예외가 발생할 수 있는 코드를 try 블록 안에 넣어줍니다. try의 코드가 실행되다가 예외가 발생하면 except 구문이 실행됩니다.
만약 예외가 발생하지 않았을 때만 실행하고 싶은 코드가 있다면 else 블록 안에 넣어줍니다. else 구문은 except 구문 뒤에 작성합니다. 예외가 발생하든 발생하지 않든 무조건 실행해야 할 코드가 있다면 finally 블록을 사용합니다. else와 finally구문은 생략 가능합니다. try문에서 return이나 break로 구문을 빠져나가게 되는 상황에서도 finally 코드는 무조건 실행됩니다.
⚠ else 구문은 반드시 except 구문 뒤에 사용해야 합니다.
try:
예외가 발생할 가능성이 있는 코드
except[예외종류 as 예외 객체를 활용할 변수명]:
예외가 발생했을 때 실행할 코드
[else:
예외가 발생하지 않았을 때 실행할 코드
finally:
무조건 실행할 코드]
여러 except로 예외의 종류별로 구분할 수 있습니다.
try:
예외가 발생할 가능성이 있는 코드
except 예외종류1:
예외1이 발생했을 때 실행할 코드
except 예외종류2:
예외2이 발생했을 때 실행할 코드
except 예외종류3:
예외3가 발생했을 때 실행할 코드
예외 발생시키기
문제 상황을 알려야 할 때 raise를 사용해 예외를 발생시킬 수 있습니다.
raise 예외종류
'개발공부 > Python : 파이썬' 카테고리의 다른 글
파이썬 훑어보기 8 - 클래스 (0) | 2024.12.23 |
---|---|
파이썬 훑어보기 7 - 모듈 (1) | 2024.12.21 |
파이썬 훑어보기 5 - 함수 (1) | 2024.12.17 |
파이썬 훑어보기 4 - 컨테이너 자료형 (0) | 2024.12.16 |
파이썬 훑어보기 3 - 조건문과 반복문 (0) | 2024.12.11 |