handle errors
This commit is contained in:
parent
ddd68240e7
commit
055e0d69ae
@ -14,10 +14,10 @@ fn main() {
|
|||||||
// vars are immutable by default, change this
|
// vars are immutable by default, change this
|
||||||
// The :: syntax in the ::new line indicates that new is an _associated function_ of the String
|
// The :: syntax in the ::new line indicates that new is an _associated function_ of the String
|
||||||
// a function that’s implemented on a type
|
// a function that’s implemented on a type
|
||||||
let mut guess = String::new();
|
|
||||||
// could still call this without importing it via std::io::stdin
|
// could still call this without importing it via std::io::stdin
|
||||||
// this can be one line, it is broken up for readability.
|
// this can be one line, it is broken up for readability.
|
||||||
loop {
|
loop {
|
||||||
|
let mut guess = String::new();
|
||||||
io::stdin()
|
io::stdin()
|
||||||
// & indicates that this argument is a reference,
|
// & indicates that this argument is a reference,
|
||||||
// references are also immutable by default so &mut is needed
|
// references are also immutable by default so &mut is needed
|
||||||
@ -29,7 +29,15 @@ fn main() {
|
|||||||
// Result's variants are Ok and Err
|
// Result's variants are Ok and Err
|
||||||
|
|
||||||
// shadowing V
|
// shadowing V
|
||||||
let guess: u32 = guess.trim().parse().expect("please type a number for the love of god");
|
// change from expect which crashes all the time to match
|
||||||
|
// to perform an action depending on the value of the enum
|
||||||
|
let guess: u32 = match guess.trim().parse() {
|
||||||
|
Ok(num) => num,
|
||||||
|
Err(_) => {
|
||||||
|
println!("that aint no number I ever heard of");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
};
|
||||||
// trim removes space and \n
|
// trim removes space and \n
|
||||||
// single colon is type annotation
|
// single colon is type annotation
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user