13: Add solutions for section "errors".
[?]
Aaw9nJhsNmfzFih9mKyNw9mV8CgERXJkRa1kK1Kx3LQH
Aug 7, 2021, 10:41 AM
P6TW3CHPDHKG4HL5ZFLWDGSMD2B35LMBQVZJDLX2BVTFRIM75P4ACDependencies
- [2]
H6XH45OP0
Change contents
- edit in exercises/error_handling/errors6.rs at line 10
// I AM NOT DONE - replacement in exercises/error_handling/errors6.rs at line 24
// TODO: add another error conversion function here.fn from_parse_int(err: ParseIntError) -> ParsePosNonzeroError {ParsePosNonzeroError::ParseInt(err)} - replacement in exercises/error_handling/errors6.rs at line 33
// TODO: change this to return an appropriate error instead of panicking// when `parse()` returns an error.let x: i64 = s.parse().unwrap();let x: i64 = s.parse().map_err(ParsePosNonzeroError::from_parse_int)?; - edit in exercises/error_handling/errors5.rs at line 6
// I AM NOT DONE - replacement in exercises/error_handling/errors5.rs at line 12
fn main() -> Result<(), ParseIntError> {fn main() -> Result<(), Box<dyn error::Error>> { - replacement in exercises/error_handling/errors4.rs at line 4
// I AM NOT DONEuse std::cmp::Ordering::{Less, Equal, Greater}; - replacement in exercises/error_handling/errors4.rs at line 17
Ok(PositiveNonzeroInteger(value as u64))match value.cmp(&0) {Less => Err(CreationError::Negative),Equal => Err(CreationError::Zero),Greater => Ok(PositiveNonzeroInteger(value as u64)),} - edit in exercises/error_handling/errors3.rs at line 6
// I AM NOT DONE - replacement in exercises/error_handling/errors3.rs at line 9
fn main() {fn main() -> Result<(), ParseIntError> { - edit in exercises/error_handling/errors3.rs at line 21
Ok(()) - edit in exercises/error_handling/errors2.rs at line 18
// I AM NOT DONE - replacement in exercises/error_handling/errors2.rs at line 26
Ok(qty * cost_per_item + processing_fee)Ok(qty? * cost_per_item + processing_fee) - replacement in exercises/error_handling/errors1.rs at line 9
// I AM NOT DONEpub fn generate_nametag_text(name: String) -> Option<String> {pub fn generate_nametag_text(name: String) -> Result<String, String> { - replacement in exercises/error_handling/errors1.rs at line 11
Some(format!("Hi! My name is {}", name))Ok(format!("Hi! My name is {}", name)) - replacement in exercises/error_handling/errors1.rs at line 14
NoneErr(String::from("`name` was empty; it must be nonempty.")) - replacement in exercises/error_handling/errors1.rs at line 29
Some("Hi! My name is Beyoncé".into())Ok("Hi! My name is Beyoncé".into())