# SyntaxError - when Python cant interpret the syntax
# usually because there is a typo

# NameError - when a variable is not defined/hasnt been assigned

# TypeError - mix match of data types on a function
# ie. len(5) or 3 + 's'

# IndexError - trying to access an element with an 
# invalid index in a list
# ie. outside the range of the list or string



# ValueError - whhen a built in operation or function 
# receives an argument that has the right type but 
# an inappropriate value

# KeyError - occurs when dictionary does not have a specific key

# AttributeError - occurs when a variable does not have an
# attribute

# Many more errors but these are some common ones that are
# ran into a lot

