Bonjour/bonsoir je suis en apprentissage du langage Ruse mais j'ai du mal dans la gestion des erreurs exemple :
Si je comprends bien Ok et Err renvoient un objet de type Result mais je me suis demandé d'ou venais ces fonctions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 type MathResult = Result<f64, MathError>; fn div(x: f64, y: f64) -> MathResult { if y == 0.0 { // This operation would `fail`, instead let's return the reason of // the failure wrapped in `Err` Err(MathError::DivisionByZero) } else { // This operation is valid, return the result wrapped in `Ok` Ok(x / y) } } enum MathError { DivisionByZero, NegativeLogarithm, NegativeSquareRoot, } fn main(){ div(10.0,20.0); }
Sur la documentation j'ai vu que le type Result<T, E> était un enum je ne sais pas complètement ce que c'est mais j'ai vu ça :
Je voudrais savoir en détail comment utiliser ces enum et la gestion des erreur que je ne comprends pas trop si je n'ai pas trop précisé certaine choses vous pouvez me demander en commentaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 enum Result<T, E> { Ok(T), Err(E) }
Merci cordialement unoomad.
Partager