W3cubDocs

/Rust

Function std::panic::resume_unwind

pub fn resume_unwind(payload: Box<dyn Any + Send>) -> !

Triggers a panic without invoking the panic hook.

This is designed to be used in conjunction with catch_unwind to, for example, carry a panic across a layer of C code.

Notes

Note that panics in Rust are not always implemented via unwinding, but they may be implemented by aborting the process. If this function is called when panics are implemented this way then this function will abort the process, not trigger an unwind.

Examples

ⓘThis example panics
use std::panic;

let result = panic::catch_unwind(|| {
    panic!("oh no!");
});

if let Err(err) = result {
    panic::resume_unwind(err);
}

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/panic/fn.resume_unwind.html