Menu
Coddy logo textTech

Qu'est-ce qu'un 'Result' ?

Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 42 sur 66.

Alors que Option gère l'absence de valeurs, Rust fournit un autre enum pour un scénario différent mais tout aussi important : les opérations qui peuvent échouer. Voici Result<T, E> - l'outil principal de Rust pour gérer les erreurs récupérables.

L'énumération Result possède deux variantes qui représentent le résultat d'une opération :

enum Result<T, E> {
    Ok(T),    // Succès - contient le résultat réussi
    Err(E),   // Échec - contient les informations d'erreur
}

Lorsqu'une opération réussit, elle retourne Ok(value) contenant le résultat réussi. Lorsqu'elle échoue, elle retourne Err(error) contenant des informations sur ce qui s'est mal passé. Cette gestion explicite des cas de succès et d'échec rend les programmes Rust plus fiables et prévisibles.

Vous rencontrerez Result partout en Rust - des opérations sur les fichiers qui pourraient échouer en raison de fichiers manquants, aux requêtes réseau qui pourraient expirer, en passant par les opérations d'analyse qui pourraient recevoir une entrée invalide. Contrairement aux langages qui utilisent des exceptions, Rust vous oblige à reconnaître que les opérations peuvent échouer et à gérer les deux issues explicitement.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Aide-mémoire

L'énumération Result<T, E> gère les opérations qui peuvent échouer :

enum Result<T, E> {
    Ok(T),    // Succès - contient le résultat réussi
    Err(E),   // Échec - contient les informations d'erreur
}

Lorsqu'une opération réussit, elle retourne Ok(value). Lorsqu'elle échoue, elle retourne Err(error).

Result est utilisé pour les erreurs récupérables telles que les opérations sur les fichiers, les requêtes réseau et les opérations d'analyse. Rust nécessite une gestion explicite des cas de succès et d'échec.

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logic & Flow