sto usando panic::catch_unwind
per la cattura di un panico:Soppressione panico uscita a Rust quando si utilizza il panico :: catch_unwind
use std::panic;
fn main() {
let result = panic::catch_unwind(|| {
panic!("test panic");
});
match result {
Ok(res) => res,
Err(_) => println!("caught panic!"),
}
}
Questo sembra funzionare bene, ma sto ancora ricevendo l'uscita del panico sullo stdout. Vorrei questo per stampare solo:
caught panic!
Invece di
thread '<main>' panicked at 'test panic', <anon>:6
note: Run with `RUST_BACKTRACE=1` for a backtrace.
caught panic!
Nota: è possibile utilizzare 'take_handler' prima per poter ripristinare il gestore originale dopo il ripristino. –