debian

Rust在Debian上的错误处理策略

小樊
37
2025-11-27 08:01:47
栏目: 编程语言

Rust 在 Debian 上的错误处理策略

一 核心原则与类型

二 在 Debian 环境下的实践清单

三 代码组织与模式

四 最小可运行示例

// Cargo.toml
// [dependencies]
// thiserror = "1.0"

use std::fs::File;
use std::io::{self, Read};
use thiserror::Error;

#[derive(Debug, Error)]
enum AppError {
    #[error("I/O error: {0}")]
    Io(#[from] io::Error),
    #[error("Parse error: {0}")]
    Parse(#[from] std::num::ParseIntError),
}

fn read_and_parse(path: &str) -> Result<i32, AppError> {
    let mut s = String::new();
    File::open(path)?.read_to_string(&mut s)?;  // ? 自动转换为 AppError::Io
    let n: i32 = s.trim().parse()?;            // ? 自动转换为 AppError::Parse
    Ok(n)
}

fn main() {
    match read_and_parse("number.txt") {
        Ok(n) => println!("Parsed: {}", n),
        Err(e) => {
            eprintln!("Error: {}", e);
            std::process::exit(1);
        }
    }
}

五 常见错误场景与排查要点

0
看了该问题的人还看了