error-handling - 是否有函数或 crate 显示行号和列号、帮助文本和突出显示的错误?
问题描述
Rust 有非常清晰的错误显示,显示发生错误的行和部分行:
是否有来自 Rust 标准库或 crate 的函数可以针对任意错误复制此函数?我有点假设它必须存在于 Rust 代码库中的某个地方,但找不到任何东西(主要是因为像“Rust rich line errors...”这样的任何搜索词都会返回人们在编写 Rust 时遇到的错误,而不是如何生成错误显示:-))。
例如,我有错误的行号和字符号以及源,是我可以重用的上述漂亮错误的现有实现吗?
解决方案
我不知道这是否有很大帮助,但rustc
编译器使用rustc_errors crate 来生成这些消息。我通过查看librustc中的 README并在指南中搜索“消息”找到了这一点。
搜索将我带到了指南中包含错误消息的这一部分。