Trap Async DNS Resolution errors and throw an exception

Added some handlers to throw exceptions during Async DNS Resolution.
Exceptions cannot be thrown here as they cannot be caught (this is an async callback)