`dyn StdError` cannot be sent between threads safely
the trait `Send` is not implemented for `dyn StdError`
required for `Unique<dyn StdError>` to implement `Send`
That's not related to the panic catching thing - most executors will require the Future you spawn to be Send so they can be executed on a multi-threaded runtime.
That error message indicates you're probably using a Box<dyn std::error::Error> (or something that contains one) as your function's error type, and Box<dyn std::error::Error> isn't Send. You'll typically want to use Box<dyn std::error::Error + Send + Sync> when working with async code.