IfError |
Si erreur |
| Power Fx |
Syntaxe
|
IfError( Value1, Replacement1 [, Value2, Replacement2, ... [, DefaultResult ] ] )
|
Paramètres
| Nom |
Description |
| Value1 |
Ce paramètre représente la première valeur à évaluer. Si cette valeur génère une erreur, la fonction retourne le Replacement1. |
| Replacement1 |
Ce paramètre définit la valeur qui sera retournée si une erreur se produit dans Value1. |
| Value2 |
Ce paramètre représente une autre valeur à évaluer, avec un comportement similaire à Value1. |
| Replacement2 |
Ce paramètre définit la valeur retournée si une erreur se produit dans Value2. |
| DefaultResult |
Ce paramètre est optionnel. Il définit la valeur retournée si toutes les évaluations génèrent des erreurs. |
Description
Cette fonction permet de détecter les erreurs et fournit une valeur alternative ou prend une action.
Remarques
- Gestion élégante des erreurs d'exécution : La fonction IfError() permet de détecter lorsqu'une expression produit une erreur et de définir un
comportement alternatif sans provoquer d'interruption de l'application. Cela évite l'affichage de messages d'erreur peu conviviaux pour l'utilisateur final et assure
une exécution fluide même en cas d'échec d'une opération.
- Syntaxe structurée pour les traitements conditionnels multiples : Avec sa syntaxe basée sur des paires Valeur, Remplacement, IfError() permet de traiter
plusieurs cas enchaînés. Cela facilite la mise en place d'un plan de secours progressif : si une valeur échoue, on essaie la suivante, jusqu'à retourner éventuellement
un résultat par défaut.
- Très utile pour les appels instables ou incertains : IfError() est particulièrement efficace lorsqu'on travaille avec des données externes ou
des expressions susceptibles d'échouer, comme des requêtes réseau, des conversions de format, ou des calculs avec des entrées dynamiques. Elle permet de protéger le
code contre les pannes inattendues.
- Améliore l'expérience utilisateur : En prévoyant un Replacement ou un DefaultResult, l'application peut afficher un message personnalisé ou une valeur
de substitution lorsque quelque chose ne se passe pas comme prévu. Cela évite à l'utilisateur de se retrouver face à une erreur système non explicite.
- Alternative élégante aux blocs If + IsError : Avant l'introduction de IfError, il fallait combiner If() avec IsError() pour gérer les erreurs, ce qui
rendait les formules longues et peu lisibles. Désormais, une seule fonction compacte permet d'englober à la fois la détection de l'erreur et la définition d'un
résultat de repli.
- Préserve la logique métier même en cas d'échec : En cas d'erreur dans une formule de calcul ou d'évaluation, IfError() permet de retourner une valeur
cohérente avec la logique métier, comme une valeur nulle, une chaîne par défaut, ou un code de retour spécifique. Cela renforce la robustesse des applications construites
dans Power Apps.
- Attention à l'ordre d'évaluation : IfError() évalue les expressions dans l'ordre où elles sont données. Dès qu'une valeur est évaluée sans erreur, le
résultat est retourné immédiatement et les autres expressions sont ignorées. Il est donc important d'organiser les cas du plus probable au moins probable, pour optimiser
la performance.
- Peut encapsuler des fonctions potentiellement risquées : Des fonctions comme Value(), LookUp(), ou
Hex2Dec() peuvent provoquer des erreurs si les données sont mal formatées ou absentes. En les encapsulant dans un IfError(), on peut éviter les
blocages ou arrêts inattendus, et même fournir un message d'aide ou une instruction corrective.
Dernière mise à jour : Jeudi, le 1 Mai 2025