만나기 싫지만 지긋지긋하게 만나게 되는 파이썬의 대표적인 error에 대해 알아보겠습니다.
파이썬에서 keyError가 발생하는 이유는 dictionary안에 해당하는 key가 존재하지 않기 때문입니다.
my_dic = {'apple':'red','banana':'yellow'}
print(my_dic['melon'])
KeyError: 'melon'
key값이 'apple'과 'banana'밖에 없는 dictionary에서 'melon'이라는 key를 찾으려면 당연히 존재하기 않기 때문에 keyError가 발생합니다.
ValueErrors는 두가지 경우에서 발생할 수 있습니다.
2-1 부적절할 값을 인자로 받았을 경우.
num=(int("Hello World"))
ValueError: invalid literal for int() with base 10: 'Hello World'
"Hello World"자리에 "1", "23" 처럼 숫자로 변경이 가능한 문자열이 와야하는데 숫자로 변경할 수 없는 부적절한 문자열이 왔기 때문에 ValueError가 발생했습니다.
2-2 참조값이 없을 때
fruit = ["apple","banana","melon","tomato"]
fruit.index('strawberry')
리스트에 존재하지 않는 'strawberry'라는 값을 찾거나 접근하거나 지우려고할 때 참조값이 없기 때문에
ValueError가 발생합니다.
fruit = ["apple","banana","melon","tomato"]
fruit[4]
IndexError: list index out of range
위에 예시처럼 Index범위를 벗어나는 경우 IndexError가 발생합니다.
파이썬 문법 오류가 발생할 경우 SyntaxError가 발생합니다.
예를 들어 if문 뒤에 ':'가 빠져있거나 하는 경우에 SyntaxError가 발생합니다.
a = 10
if a > 8
print("bigger than 8")
File "/Users/itaeyeon/Desktop/pythonwspace/velog.py", line 2
if a > 8
^
SyntaxError: expected ':'
숫자를 0으로 나누려고 하는 경우에 발생하는 에러입니다.
접근하려는 파일이나 디렉터리가 존재하지 않는 경우 발생하는 에러입니다.