23、Rust编程:错误输出处理与闭包特性深入解析

Rust编程:错误输出处理与闭包特性深入解析

1. 错误输出重定向至标准错误流

在编程过程中,合理处理错误输出是非常重要的。通常,我们使用 println! 函数将所有输出打印到终端,但终端一般提供两种输出:标准输出(stdout)用于常规信息,标准错误(stderr)用于错误消息。这种区分能让用户将程序的成功输出定向到文件,同时仍能在屏幕上看到错误消息。

1.1 检查错误输出位置

为了观察当前 minigrep 程序的错误输出情况,我们可以将标准输出流重定向到文件,并故意引发一个错误。具体操作如下:

$ cargo run > output.txt

这里的 > 语法告诉shell将标准输出内容写入 output.txt 文件而非屏幕。运行后,我们发现预期的错误消息没有显示在屏幕上,而是存储在了文件中, output.txt 内容如下:

Problem parsing arguments: not enough arguments

这表明错误消息被打印到了标准输出,而将此类错误消息打印到标准错误会更有用,这样只有成功运行的数据才会存入文件。

1.2 将错误输出到标准错误

为了改变错误消息的打印方式,我们使用 eprintl

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值