MST

星途 面试题库

面试题:Rust位置参数错误处理的复杂场景

假设有一个Rust函数,接受三个位置参数,分别为一个文件名(`&str`),文件打开模式(`std::fs::OpenOptions`的实例)和一个用于写入文件的字符串切片(`&str`)。函数需要打开文件并写入字符串。请处理可能出现的错误,包括文件打开失败(如文件不存在、权限不足等),以及写入失败的情况,并且错误信息需要详细且合理,同时要正确使用Rust的错误处理机制,如`try!`宏或`?`操作符。展示完整的函数代码及调用示例。
48.9万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use std::fs::OpenOptions;
use std::io::{Write, Error};

fn write_to_file(file_name: &str, options: OpenOptions, content: &str) -> Result<(), Error> {
    let mut file = options.write(true).create(true).open(file_name)?;
    file.write_all(content.as_bytes())?;
    Ok(())
}

fn main() {
    let options = OpenOptions::new();
    match write_to_file("test.txt", options, "Hello, World!") {
        Ok(_) => println!("Write to file successfully."),
        Err(e) => println!("Error: {}", e),
    }
}