[Python] 파이썬 'try' - 'except' 구문 기본구조 설명 및 예외 타입, 예시 적용 방법
반응형
소개
파이썬의 try-except 구문은 예외 처리를 위해 사용됩니다. 프로그램이 실행되는 도중에 예외(오류)가 발생할 경우, 이를 적절히 처리하여 프로그램의 비정상 종료를 막거나, 사용자에게 오류에 대한 정보를 제공하는 등의 작업을 수행할 수 있습니다. 또한 예외 처리를 할 때, 다양한 예외 타입들을 특정하여 처리할 수 있습니다. 각 예외 타입은 발생할 수 있는 오류 상황에 따라 정의되어 있습니다.
기본 구조
try:
# 오류가 발생할 가능성이 있는 코드
except 예외타입:
# 오류가 발생했을 때 수행할 코드
상세한 구조
try:
# 오류가 발생할 가능성이 있는 코드
except 예외타입1:
# 예외타입1에 해당하는 오류가 발생했을 때 수행할 코드
except 예외타입2:
# 예외타입2에 해당하는 오류가 발생했을 때 수행할 코드
...
else:
# 오류가 발생하지 않았을 때 수행할 코드
finally:
# 오류 발생 여부와 관계없이 항상 수행할 코드
예외 타입 설명
BaseException | 모든 내장 예외의 기본 클래스입니다. 일반적으로 이 예외를 직접 사용하는 것은 권장되지 않습니다. |
Exception | 사용자 정의 예외를 포함하여 모든 내장 예외의 기본 클래스입니다. |
ArithmeticError | 수학 연산 관련 예외들의 기본 클래스입니다. |
ZeroDivisionError | 0으로 나누려고 할 때 발생합니다. |
OverflowError | 수치 연산 결과가 너무 커서 표현할 수 없을 때 발생합니다. |
FloatingPointError | 부동 소수점 연산 실패 시 발생합니다. |
LookupError | 시퀀스 관련 예외들의 기본 클래스입니다. |
IndexError | 시퀀스의 인덱스가 범위를 벗어날 때 발생합니다. |
KeyError | 딕셔너리에서 존재하지 않는 키를 조회하려고 할 때 발생합니다. |
ValueError | 올바르지 않은 값으로 인해 발생하는 예외입니다. 예를 들어, int("abc")와 같이 숫자로 변환할 수 없는 문자열을 int() 함수에 전달하면 발생합니다. |
TypeError | 연산이나 함수가 적용되는 객체의 타입이 올바르지 않을 때 발생합니다. 예를 들어, 문자열과 숫자를 더하려고 할 때 발생합니다. |
NameError | 지역 또는 전역 이름을 찾을 수 없을 때 발생합니다. 정의되지 않은 변수를 참조하려고 할 때 주로 발생합니다. |
FileNotFoundError | 요청한 파일이나 디렉토리를 찾을 수 없을 때 발생합니다. |
IOError | I/O 연산(예: 파일 읽기/쓰기) 실패 시 발생하는 예외의 기본 클래스입니다. |
ImportError | 모듈이나 패키지를 임포트하는 도중 오류가 발생할 때 발생합니다. |
AttributeError | 객체에 존재하지 않는 속성을 참조하거나 할당하려고 할 때 발생합니다. |
RuntimeError |
다른 카테고리에 속하지 않는 오류가 발생할 때 발생하는 예외의 기본 클래스입니다. |
이 외에도 파이썬에는 많은 내장 예외 타입들이 존재하며, 필요에 따라 자신만의 예외 타입을 정의하여 사용할 수도 있습니다. 각 예외 타입에 따라 try-except 구문 내에서 적절한 처리를 구현함으로써, 프로그램의 안정성과 유연성을 향상시킬 수 있습니다.
예시
1. 기본적인 사용 예시
try:
result = 10 / 0
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
출력 결과
0으로 나눌 수 없습니다.
2. 여러 예외 처리하기
try:
num_list = [1, 2, 3]
print(num_list[3])
result = 10 / 0
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
except IndexError:
print("인덱스 범위를 벗어났습니다.")
출력 결과
인덱스 범위를 벗어났습니다.
3. 'else'와 'finally' 사용하기
try:
result = 10 / 5
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
else:
print("나눗셈 결과:", result)
finally:
print("계산 완료!")
출력 결과
나눗셈 결과: 2.0
계산 완료!
'try' - 'except' 구문을 사용하면 예상치 못한 오류 상황에서도 프로그램이 안정적으로 동작하도록 할 수 있습니다. 특히 사용자 입력이나 외부 데이터를 처리할 때, 예외 처리를 통해 다양한 오류 상황에 대비하는 것이 중요합니다.
반응형
'IT > Python' 카테고리의 다른 글
[Python] 파이썬 No module named 'webdriver_manager' 오류 해결 방법 (0) | 2023.11.08 |
---|---|
[Python] 파이썬 openai 설치 시 오류 문제 해결 방법 - ERROR: Failed building wheel for aiohttp (0) | 2023.11.05 |
[Python] 파이썬 for 반복문 기존 구조와 예제 설명 (0) | 2023.10.27 |
[Python] 파이썬 여러 개의 이미지를 하나의 이미지로 합치는 방법 (0) | 2023.10.27 |
[Python] django 내비게이션바 만들기 (2) | 2022.10.05 |
댓글