https://towardsdatascience.com/how-to-write-unstoppable-codes-with-exception-handling-in-python-be5534b098b7