Python/개요 및 문법

예외 (Exception)

Bambi97 2024. 9. 30. 16:13

예외(Exception)은 프로그램 실행 중 발생할 수 있는 예상치 못한 오류 상황을 의미한다.

 

1. 예외 처리 방법

try:
    # 예외가 발생할 가능성이 있는 코드
    
except ExceptionType1:  # 'ExceptionType1'에는 실제 예외 유형이 들어갑니다.
    # ExceptionType1 예외가 발생했을 때 실행될 코드
    
except ExceptionType2:  # 'ExceptionType2'에는 다른 예외 유형이 들어갑니다.
    # ExceptionType2 예외가 발생했을 때 실행될 코드
    
# 추가적인 except 블록을 계속 추가할 수 있습니다.

else:
    # try 블록에서 예외가 발생하지 않았을 때 실행될 코드
    
finally:
    # 예외 발생 여부와 관계없이 항상 실행될 코드

 

2. 에러가 발생하는 유형

ValueError
잘못된 값을 함수나 연산에 제공할 때 발생합니다.
예) 숫자가 아닌 문자열을 int() 함수로 변환하려고 할 때 발생.

TypeError
올바르지 않은 유형의 객체를 연산에 사용하려 할 때 발생합니다.
예) 문자열과 숫자를 함께 더하려고 할 때 발생.

ZeroDivisionError
숫자를 0으로 나누려고 할 때 발생합니다.

IndexError
리스트, 튜플, 문자열 등의 시퀀스 유형에서 범위를 벗어난 인덱스에 접근하려 할 때 발생합니다.
예) 길이가 3인 리스트에 대해 4번째 요소에 접근하려고 할 때 발생.

KeyError
딕셔너리에서 존재하지 않는 키를 사용하여 값을 검색하려고 할 때 발생합니다.

AttributeError
객체에 없는 속성이나 메서드에 접근하려고 할 때 발생합니다.

FileNotFoundError
존재하지 않는 파일을 열려고 할 때 발생합니다.

ImportError
존재하지 않는 모듈을 가져오려고 할 때 또는 모듈 내에 해당 속성/함수가 없을 때 발생합니다.

NameError
정의되지 않은 변수나 함수를 사용하려고 할 때 발생합니다.
예) 프로그램에서 정의되지 않은 변수 x를 사용하려고 할 때 발생.

OverflowError
수치 연산 결과가 너무 커서 표현할 수 없을 때 발생합니다.

MemoryError
프로그램이 사용 가능한 모든 메모리를 소진했을 때 발생합니다.

기본적인 except 처리
IndexError 처리 예시
ValueError 처리 예시
Error들도 다 Exception을 상속받은 클래스들이며 excep처리시 as로 별칭(Alias)를 줄 수 있다.
if문 처럼 순차적인 해석

 

'Python > 개요 및 문법' 카테고리의 다른 글

파일 입출력  (0) 2024.10.02
모듈 (Module) (feat. 파이참 설치)  (0) 2024.10.02
스페셜 메소드  (0) 2024.09.30
파이썬의 상속  (0) 2024.09.28
클로저와 데코레이터  (0) 2024.09.28