退出代码

程序并不总是成功的。当发生错误时,您应该确保正确地发出必要的信息。除了在大多数系统上告诉用户错误,当进程退出时,它也会发出退出代码(0 到 255 之间的整数,与大多数平台兼容)。您应该尝试为程序的状态发出正确的代码。例如,在理想情况下,当程序成功时,它应该的退出代码为0

但是,当一个错误发生时,它会变得更加复杂。在真实世界,许多工具(的退出代码)会是1当发生常见故障时。目前当进程恐慌时,Rust 设置的退出代码为101。除此之外,人们在他们的程序中,还做了很多事情。

那么,该怎么办?BSD 生态系统收集了它们退出代码的通用定义(您可以在这里找到它们)。Rust 箱子exitcode提供这些相同的代码,可以在应用程序中使用。有关可能使用的值,请参阅其 API 文档。

一种使用方法是这样的:

fn main() {
    // ...actual work...
    match result {
        Ok(_) => {
            println!("Done!");
            std::process::exit(exitcode::OK);
        }
        Err(CustomError::CantReadConfig(e)) => {
            eprintln!("Error: {}", e);
            std::process::exit(exitcode::CONFIG);
        }
        Err(e) => {
            eprintln!("Error: {}", e);
            std::process::exit(exitcode::DATAERR);
        }
    }
}