https://medium.com/abhima-c-programming/some-simple-tips-and-tricks-on-exception-handling-in-c-4e77e1fe7477