Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::thread;
- use std::panic;
- pub fn main(){
- thread::spawn(move || {
- panic::catch_unwind(|| {
- // panic!("Oh no! A horrible error.");
- let s: Option<u32> = None;
- s.expect("Nothing was there!");
- })
- })
- .join()
- .and_then(|result| {
- match result {
- Ok(ref val) => {
- println!("No problems. Result was: {:?}", val);
- }
- Err(ref err) => {
- if let Some(err) = err.downcast_ref::<&'static str>() {
- println!("Error: {}", err);
- } else {
- println!("Unknown error type: {:?}", err);
- }
- }
- }
- result
- });
- }
- Error: Oh no! A horrible error.
- Unknown error type: Any
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement