Handling Exceptions In Asynchronous Operations