📅  最后修改于: 2021-01-08 13:50:26             🧑  作者: Mango
Rust中有两种错误类型:
可恢复错误是可以某种方式恢复的错误,而不可恢复错误是无法以任何方式恢复的错误。
让我们看一下预期行为的场景:
"100".parse();
在上述情况下,“ 100”是一个字符串,因此我们无法确定上述情况是否有效。这是预期的行为。因此,这是一个可恢复的错误。
断言! :断言!当我们要声明某件事为真时使用。如果它不正确和足够错误,则程序将停止执行。它引起了恐慌! ,如果在运行时表达式未评估为true。
让我们看一个简单的例子:
fn main()
{
let x : bool = false;
assert!(x==true);
}
输出:
在上面的示例中,x的值为false,并且assert中的条件为!宏为假。因此,一个断言!引发恐慌!在运行时。
无法到达! :无法到达!宏用于无法访问的代码。该宏非常有用,因为编译器无法确定无法访问的代码。无法访问的代码由无法访问决定!在运行时。
让我们看一个简单的例子:
enum Value
{
Val,
}
fn get_number(_:Value)->i32
{
5
}
fn find_number(val:Value)-> &'static str
{
match get_number(val)
{
7 => "seven",
8=> "eight",
_=> unreachable!()
}
}
fn main()
{
println!("{}", find_number(Value::Val));
}
输出:
在上面的示例中,由get_number()函数返回的值是5,它与每个模式都匹配,但与任何模式都不匹配。因此,遥不可及!宏引起了恐慌!宏。