diff --git a/errors.md b/errors.md index 310f2ff5dc97b48392b4948bc637864fddd9dac1..a72d5233ec6967f7b5eef3c5b4f5f01d1c5fe2e6 100644 --- a/errors.md +++ b/errors.md @@ -157,6 +157,8 @@ fn main() { # Résultat +## Lorsqu'on peut commettre des erreurs non-fatales + - Pour un traitement plus fin des erreurs l'enum <pre><code data-trim="hljs rust"> @@ -170,19 +172,22 @@ fn main() { <pre><code data-trim="hljs rust" class="lang-rust"> fn elem(v: &[i32], i: usize) -> Result<i32, &str> { - if i >= v.len() { - return Err("Erreur fatale!") - } else { - Ok(v[i]) - } + if i >= v.len() { + return Err("L'index est trop grand!") + } else { + Ok(v[i]) + } } fn main() { - let v = [1, 2, 3, 4]; - match elem(&v, 100) { - Ok(i) => println!("L'élément est {}", i), - Err(_) => println!("Mince ça a raté."), - } + let v = [1, 2, 3, 4]; + match elem(&v, 100) { + Ok(i) => println!("L'élément est {}", i), + // Err(error) => panic!("The problem is {:?}", error), + Err(_) => println!("Mince ça a raté."), + } } + </code></pre> +##