如何处理索引越界错误?

Luk*_*ton 0 error-handling runtime-error rust

处理此问题以避免运行时错误的惯用方法是什么:

let address = match x[1].parse::<String>() {
    Ok(a) => Some(a),
    Err(_) => None,
};
Run Code Online (Sandbox Code Playgroud)

哪里x[1]会因index out of bounds错误而恐慌?

Sör*_*ren 6

您可以使用get参见:切片文档

let address: Option<String> = x.get(1).and_then(|v| {
    v.parse().ok()
});
Run Code Online (Sandbox Code Playgroud)