async-std icon indicating copy to clipboard operation
async-std copied to clipboard

Unbable to catch panics in a spawned task

Open rtumac opened this issue 2 years ago • 1 comments

I am using the spawn_and_log_error function from the a-chat example. Unfortunately, this function is not able to capture panics in the spawned tasked. The async-std book mentions that catching panics in the spawned task and reacting with custom behavior is possible. If using spawn_and_log_error is the wrong approach to achieve that, could someone point me in the right direction?

fn spawn_and_log_error<F>(fut: F) -> task::JoinHandle<()>
where
    F: Future<Output = Result<()>> + Send + 'static,
{
    task::spawn(async move {
        if let Err(e) = fut.await {
            eprintln!("{}", e)
        }
    })
}

rtumac avatar Jan 14 '23 19:01 rtumac

smol-rs/async-task#37 (not yet published) would probably resolve this issue

notgull avatar Jan 14 '23 21:01 notgull