小编Dal*_*rio的帖子

Rust:使 unwrap() 打印 error.display() 而不是 error.debug()

在 Rust 程序中,我使用 a Result,它使用 aString作为其Error类型:

fn foo() -> Result<String, String>

我作为错误返回的字符串看起来像这样:
lorem\nipsum

现在我调用我的函数并将其解包如下:
foo.unwrap();

现在,当foo()返回 an时Error,它会打印错误,如下所示:
lorem\nipsum

然而,我实际上想看到的是以下错误消息:

lorem
ipsum
Run Code Online (Sandbox Code Playgroud)

据我所知,这种行为的原因是unwrap(),在字符串的情况下,调用debug()而不是display()which 的实现方式不同(新行显示为新行,但调试打印为“\n”) 。

有没有一种快速的方法可以让我以一种调用的方式 unwrap() 我的结果,而display()不是debug()让打印的错误实际显示换行符而不是“\n”?

debugging error-handling rust unwrap display

3
推荐指数
1
解决办法
1730
查看次数

标签 统计

debugging ×1

display ×1

error-handling ×1

rust ×1

unwrap ×1