https://khadkagopal.medium.com/mastering-error-handling-in-javascript-best-practices-and-techniques-for-robust-code-8a9d7f7d7212