2021-06-30 01:23:32

파이썬에서 발생하는 에러는 크게 두 종류로 나눌 수 있습니다.

 

1) 코드 실행 전에 잡는 에러: 구문 오류 

2) 코드 실행 중에 잡는 에러: 예외

 

참고로 코드 실행 중에 발생하는 에러를 예외(exception)라고 부릅니다. 예외의 종류는 굉장히 다양합니다. 

 

코드 실행 전에 잡는 오류

SyntaxError: 구문 오류

SyntaxError는 파이썬 문법을 지키지 않았을 때 발생하는 에러입니다. 구문 오류가 있을 때는 프로그램이 실행조차되지 않습니다. 그래서 비교적 쉽게 문제점을 발견하여 처리할 수 있습니다. 파이썬에서 for문의 시작부의 끝에는 항상 콜론을 넣어줘야합니다. 생략하면 어떤 결과가 생기는지 확인해보겠습니다. 

 

 

예상한대로 SyntaxError가 발생했습니다. 

 

코드 실행 중에 잡는 오류

IndexError: 인덱스 오류

인덱스의 범위를 초과했을 때 발생하는 오류입니다. 

 

 

a[4]까지 밖에 없는데 a[6]을 선택하였기 때문에 IndexError가 발생했습니다. 

 

NameError: 이름 오류

정의되지 않은 변수나 함수를 참조하려고 할 때 발생하는 예외입니다. 

 

TypeError: 타입 오류

 

int 형 데이터와 str 형 데이터를 더하려고 했더니 다음과 같은 오류 메시지가 떴습니다. 

 

 

바로 TypeError입니다. 

 

IndentationError: 들여쓰기 오류

말 그대로 들여쓰기를 제대로 하지 않았을 때 발생하는 에러입니다. 만약 for 문을 사용하는데 들여쓰기를 적절하게 하지 않는다면 IndentationError가 발생합니다. 

 

 

ValueError: 값 오류

 

"7.23" 이라는 문자열을 int 함수에 넣어주면 7만 출력될 것 같지만, ValueError가 발생합니다. 

 

 

KeyError: 키 오류

딕셔너리에서 존재하지 않는 키에 접근할 때 발생하는 오류입니다.

 

 

ZeroDivisionError: 0으로 나누기 오류

파이썬에서는 어떤 숫자를 0으로 나누려고 할 때 오류를 발생시킵니다. 

 

 

 

OverflowError: 오버플로우 오류

산술 연산의 결과가 표현하기에 너무 클 때 발생합니다.

 

 

AttributeError: 속성 오류

어떤 모듈에 존재하지 않는 속성을 사용할 때는 속성 오류가 발생합니다. time 모듈에 sleep()은 있지만 wake()는 없기 때문입니다.

 

 

ModuleNotFoundError: 모듈 미설치 오류

필요한 모듈(라이브러리)가 해당 개발환경에 설치되어 있지 않을 때 발생하는 오류입니다. 

 

 

FileNotFoundError: 파일 못 찾음 오류

파일을 찾지 못할 때 발생하는 오류입니다. test.txt 라는 메모장 파일을 열어서 안에 있는 내용을 읽으려고 했는데 오류가 발생했습니다. test.txt를 현재 작업 경로에서 못 찾겠다는 뜻입니다. 

 

 

IOError: 입출력 오류 

입출력과 관련된 문제가 발생했을 때 발생하는 예외입니다. 

 

AssertionError

assert 문이 실패할 때 발생하는 예외입니다.

 

KeyboardInterrupt

사용자가 프로그램을 중단시키기 위해 Ctrl + C와 같은 신호를 보냈을 때 발생하는 예외입니다. 

 

참고자료

[1] https://docs.python.org/3/tutorial/errors.html