/* Page prose (fr) */
"FailingWithAValueErrorPair" = "# Quand le callback peut échouer: une paire `(valeur, erreur)`\n\nLes APIs plus anciennes, de l'ère Objective-C, te remettent *à la fois* une valeur optionnelle et une erreur optionnelle, et c'est à toi de les démêler. Ici, pas de raccourci `resume(with:)`: tu te ramifies à la main et tu reprends d'exactement une seule façon.";
"FailingWithAValueErrorPair-2" = "**Observe l'exécution:** tu verras `Beans left: 1240 g`. Remarque la troisième branche: même quand le callback ne te donne *ni* valeur *ni* erreur (une forme que le compilateur ne peut pas écarter) tu reprends quand même avec une erreur. Sauter cette branche, c'est un blocage qui n'attend qu'à survenir, ce qui est précisément la règle vers laquelle nous passons ensuite.\n\n* callout(Essaie): Change le callback en `completion(nil, nil)`. La branche \"ni l'un ni l'autre\" se déclenche maintenant, `beansLeft()` lance `emptyReading`, et tu atterris dans le `catch` au lieu de bloquer.\n\n[Précédent](@previous)  |  page 4 sur 8  |  [Suivant: La règle d'or](@next)";
