网站首页 > 博客文章 正文
概念
学习目标:掌握 Rust 的2种错误处理方式:panic 和 Result
Rust中的错误主要分为2类,不可恢复错误 panic 和可恢复错误 Result。
Panic 是一种非正常的程序终止,通常表示发生了无法恢复的错误,例如数组越界、除零等。在 Rust 中,Panic 可以通过 panic! 宏来显式触发。当 panic 发生时,程序会打印错误信息,并在栈展开(stack unwinding)过程中清理资源,最终退出程序。
Result 是一种更为正常和可控的错误处理方式,例如文件操作、网络请求等可能发生错误的场景。这些操作可以返回 Result<T, E> 类型并交由开发者处理,其中 T 是成功时的返回类型,E 是错误时的返回类型。
文档:
下面的代码我们分别展示了panic错误和Result<T, E>错误。其中T和E是泛型类型参数,T 代表成功时返回的数据类型,而 E 代表失败时返回的错误类型。由于 Result 预导入模块(prelude)已经包含了Result枚举及其成员,所以使用中不需要显式指定前缀Result::,如Result::Ok、Result::Err,可直接使用 OK 或 Err
示例代码:
使用Result + match 模式匹配会有大量的样板代码,Rust 提供了一种简化错误传播的语法糖:?。它的作用是在函数中将 Result 的 Ok 值直接返回,而在遇到 Err 时,将其包装在 Err 中并中止函数的执行,将错误传播给调用方。这样可以有效地减少错误处理代码的嵌套,使得代码更加清晰和紧凑。
猜你喜欢
- 2024-09-11 Rust 写操作系统之Hello world (三)
- 2024-09-11 Rust: 如何用Panic打造健壮应用(rust zig)
- 2024-09-11 在 Linux 新版内核中的 Rust 初探,原来是这样的
- 2024-09-11 Rust 向量(Vec)(rust 向量化)
- 2024-09-11 Rust 入坑指南:鳞次栉比 | CSDN 博文精选
- 2024-09-11 学习Rust编程——使用macro_rules!创建宏
- 2024-09-11 利用 Rust 过程宏实现的 derive-with 库
- 2024-09-11 Rust 基础入门-错误处理和宏-属性式宏&函数式宏
- 2024-09-11 Rust中巧用matches!宏(rust腐蚀免费版)
- 2024-09-11 Rust编程语言里的宏回调(rust宏数据)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)