Exception Handling
If there was an exception thrown by the worker delegate, the exception is passed to the completion callback.
The completion callback will be called on the thread on which the async worker was started if this thread supports synchronization (UI thread do support synchronization). Otherwise, it will be called on the worker thread.
Failing Operation with no Completion Handler
If the operation throws an exception and there is no completion handler set then the global handler for unhandled exceptions is notified:
Failing Operation with Completion Handler
If the operation throws an exception and there is a completion handler set then the completion handler is responsible to handle the exception. The global handler for unhandled exceptions will not be notified: