본문 바로가기

기타/algorithm

파이썬 에러 종류 구문, 런타임 에러

728x90

파이썬으로 알고리즘 풀다 보면 여러 가지 에러에 직면합니다.

특히 백준에서 알고리즘을 풀 때 에러가 나오지 않아 애를 먹습니다.

그래서 파이썬 에러 종류에 대해 공부해 보았습니다.

파이썬에는 크게 두 가지 타입의 에러가 있습니다.

구문 에러와 런타일 에러입니다.

1.SyntaxError(구문 에러)입니다.

>>> print'hello')
SyntaxError: invalid syntax

 

>>> print('dd)
SyntaxError: EOL while scanning string literal

 

괄호가 제대로 처리되지 않았거나 '를 닫아주지 않았을 때 나는 에러입니다.

이밖에도 python의 문법에 맞지 않게 코딩을 했을 때 나옵니다.

SyntaxError로 시작하는 에러가 나온다면 문법 오류, 오타를 찾아보세요.

 

2.Runtime Error(런타임 에러)입니다.

3/0
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    3/0
ZeroDivisionError: division by zero
>>> [1,2,3,4][5]
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    [1,2,3,4][5]
IndexError: list index out of range
>>> print(a)
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    print(a)
NameError: name 'a' is not defined

크게 3가지가 있습니다.

0으로 나누었을 때 발생하는 zerodivisionerror

인덱싱을 할 때 길이 이상으로 했을 때 발생하는 IndexError

선언하지 않은 변수를 사용할 때 발생하는 NameError가 발생합니다.

 

이밖에도 TypeError(연산, 함수가 계산할 때 데이터의 유형이 잘못되었을 때)

,warning(심각한 오류는 아니나 주의가 필요한 사항에 관한 경고입니다.)

, valueError(데이터의 타입이 맞지 않아 발생하는 에러)

, ModuleNotFoundError(path에서 모듈을 찾지 못했을 때 발생하는 에러)

에러가 발생했을 때 가장 빠르게 해결하는 방법은

어디서 어떤 종류의 에러가 발생했는지 파악하고 스스로 해결해 본 뒤뒤 해결이 어려울 때는 구글링을 하는 것입니다.

저는 사실 대부분의 경우에 구글링으로 문제를 해결합니다.

 

728x90