首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >rust的错误处理

rust的错误处理

原创
作者头像
李子健
发布2022-05-09 22:45:11
发布2022-05-09 22:45:11
6140
举报
文章被收录于专栏:每日一善每日一善

错误处理

  • 返回代码
  • 异常处理

可恢复的异常

  • Optionpub enum Option<T>{ None, Some(T), }可以Unwrapping在Option上解压pub enum Result<T, E> { Ok(T), Err(E), }
  • Result

Option和resutl

  • 可以组合
  • 通过ok_or和ok转换

及早返回?:任何一个失败就整体失败了

不可恢复异常painc

  • catch_unwind处理故障,只是停止展开栈,不能阻止程序终止运行的故障

自定义错误和Error特征

代码语言:rust
复制
use std::panic; 

fn main() { 
   
  
    let ret1:Result<_,()> = Ok(64);
    let ok1 = Ok::<_,()>(64);
    let err1 = Err::<(),f32>(123.4);


   

    panic::catch_unwind(|| { 
        panic!("Panicking!"); 
    }).ok();

    println!("Survived that panic."); 

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档