Wraps an async operation in a Procedure, catching any thrown error.
The async operation to wrap.
Message to use if the operation throws.
A Procedure containing either the resolved value or a failure.
Wraps an async operation in a Procedure, catching any thrown error.