root@bskyvision: ~#
방명록
태그
RSS

<닫기>

3,585,391/3,798/595

프로필사진
수많은 소음 속에서 신호를 찾아가는 bskyvision입니다.


<닫기>

  • leon_choi이(가) 08.10에 작성한 댓글: 멋쟁이.
  • 꼬장이이(가) 07.25에 작성한 댓글: test.

<닫기>

2021-06-30 01:23:32

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

 

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

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

 

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

 

코드 실행 전에 잡는 오류

1. SyntaxError: 구문 오류

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

 

 

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

 

코드 실행 중에 잡는 오류

1. IndexError: 인덱스 오류

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

 

 

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

 

2. TypeError: 타입 오류

 

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

 

 

바로 TypeError입니다. 

 

3. FileNotFoundError: 파일 못 찾음 오류

 

 

test.txt 라는 메모장 파일을 열어서 안에 있는 내용을 읽으려고 했는데 오류가 발생했습니다.

 

 

test.txt를 못 찾겠다는 뜻입니다. 

 

4. IndentationError: 들여쓰기 오류

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

 

 

5. ValueError: 값 오류

 

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

 

 

6. KeyError: 키 오류

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

 

 

7. ZeroDivisionError: 0으로 나누기 오류

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

 

 

8. AttributeError: 속성 오류

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

 

 

9. ModuleNotFoundError: 모듈 미설치 오류

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

 

 

참고자료

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

  1. 꼬장스카이비전이(가) 2021.07.01 09:33에 작성한 댓글:
    보통 에러는 컴파일오류(Compile error)와 실행오류(Runtime error)로 구분하는데요. 간단하게 생각하면 코드를 실행전에 검사하여 잡는 오류와 실행중에 잡는 오류로 생각하면 됩니다.
    파이썬과 같은 인터프리터 언어는 컴파일과정이 없어서 문법오류(Syntax error)와 예외(Exception)으로 구분하는데 개념은 실행전/실행후 구분으로 똑같습니다.

    간단히 말하면 여기서 언급하는 모든 에러가 실행전에 나타나는 에러라면 게시글을 syntax error 로 고치고 syntax error의 종류로 언급하면 좋을 것 같습니다.

    참고
    https://docs.python.org/3/tutorial/errors.html
      주소   수정/삭제   답글
이름
비밀번호
홈페이지
비밀여부