errors and exceptions in python