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
'기타 > algorithm' 카테고리의 다른 글
큐와 덱, 1021번 회전하는 큐 풀이 (0) | 2020.11.13 |
---|---|
손익분기점 1712번 백준 풀이 (0) | 2020.11.10 |
요세푸스 순열 파이썬으로 풀기 (0) | 2020.11.06 |
큐 자료구조 예시 문제 카드2 (0) | 2020.10.29 |
큐와 덱, 간단하게 정리하기. (0) | 2020.10.28 |