Function std::panic::resume_unwind
[−]
[src]
pub fn resume_unwind(payload: Box<Any + Send>) -> !1.9.0
Triggers a panic without invoking the panic handler.
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
fn main() { use std::panic; let result = panic::catch_unwind(|| { panic!("oh no!"); }); if let Err(err) = result { panic::resume_unwind(err); } }use std::panic; let result = panic::catch_unwind(|| { panic!("oh no!"); }); if let Err(err) = result { panic::resume_unwind(err); }