Exceptions should be thrown instead of catching them to make it possible to catch them inside calling classes