Funkcia IfError v službe PowerAppsIfError function in PowerApps

Zistí chyby a poskytne alternatívnu hodnotu alebo vykoná akciu.Detects errors and provides an alternative value or takes action.

PopisDescription

Poznámka

Táto funkcia je súčasťou experimentálnej funkcie a môže sa zmeniť.This function is part of an experimental feature and is subject to change. Správanie popísané v tomto článku je dostupné iba vtedy, keď je zapnutá funkcia Správa chýb na úrovni vzorca.The behavior described here is only available when the Formula-level error management feature is turned on. Je to nastavenie na úrovni aplikácie, ktoré je predvolene vypnuté.This is an app level setting that defaults to off. Ak chcete túto funkciu zapnúť, prejdite na kartu Súbor, v ponuke vľavo vyberte položku Nastavenia aplikácie a potom vyberte položku Experimentálne funkcie.To turn this feature on, navigate to the File tab, App settings in the left hand menu, and then Experimental features. Vaša spätná väzba je pre nás veľmi cenná – podeľte sa s nami o svoj názor vo fórach komunity služby PowerApps.Your feedback is very valuable to us - please let us know what you think in the PowerApps community forums.

Funkcia IfError postupe otestuje svoje jednotlivé argumenty, zistí, či neobsahujú chybnú hodnotu, a zastaví sa, keď nájde prvú hodnotu bez chýb.The IfError function tests each of its arguments in order for an error value, stopping when the first non-error value is found. Argumenty sa po nájdení hodnoty bez chýb preskočia a nevyhodnotia.The arguments after the non-error value is found are ignored and not evaluated.

Funkcia IfError slúži na nahradenie chybných hodnôt platnou hodnotou.Use IfError to replace error values with a valid value. Ak je napríklad možné, že vstup používateľa môže viesť k deleniu nulou, nahraďte ho 0 alebo inou platnou hodnotou, ktorá je vhodná pre vašu aplikáciu, aby mohli pokračovať následné výpočty.For example, if it is possible that user input may result in a division by zero, replace it with a 0 or other valid value that is appropriate for your app so that downstream calculations can proceed.

Funkcia IfError slúži vo vzorcoch správania na vykonávanie akcií, kontrolu chýb vo výsledkoch a v prípade potreby na vykonanie ďalších akcií alebo zobrazenie chybového hlásenia používateľovi pomocou funkcie Notify.Use IfError in behavior formulas to perform actions, check the results for errors, and if needed take further actions or display an error message to the user with Notify.

Ak všetky argumenty funkcie IfError vedú k chybe, vráti sa hodnota posledného argumentu (čo bude chybná hodnota).If all of the arguments to IfError result in an error, the value of the last argument is returned (which will be an error value).

SyntaxSyntax

IfError( Hodnota; Náhradné1 [; Náhradné2; ... ] )IfError( Value, Fallback1 [, Fallback2, ... ] )

  • Hodnota – povinné.Value - Required. Vzorec alebo vzorce, v ktorých sa má otestovať, či neobsahujú chybu.Formula(s) to test for an error value.
  • Náhradné – povinné.Fallback(s) - Required. Vzorce na vyhodnotenie a hodnoty na vrátenie, ak predchádzajúce argumenty vrátili chybu.The formulas to evaluate and values to return if previous arguments returned an error. Náhradné argumenty sa postupne vyhodnocujú až do chvíle, keď sa nájde hodnota bez chyby.Fallback arguments are evaluated in order up to the point a a non-error value is found.

PríkladyExamples

VzorecFormula PopisDescription VýsledokResult
IfError( 1; 2 )IfError( 1, 2 ) Prvý argument nie je chyba.The first argument is not an error. Vráti sa a nasledujúce argumenty sa nevyhodnocujú.It is returned and subsequent arguments are not evaluated. 11
IfError( 1/0; 2 )IfError( 1/0, 2 ) Prvý argument vracia chybovú hodnotu (z dôvodu delenia nulou).The first argument is returning an error value (due to division by zero). Vyhodnotí sa druhý argument a výsledkom je hodnota bez chyby, ktorá sa vráti.The second argument is evaluated resulting in a non-error value which is returned. 22
IfError( 1/0; Notify( "Vyskytol sa interný problém"; NotificationType.Error ) )IfError( 1/0, Notify( "There was an internal problem", NotificationType.Error ) ) Prvý argument vracia chybovú hodnotu (z dôvodu delenia nulou).The first argument is returning an error value (due to division by zero). Vyhodnotí sa druhý argument, ktorý používateľovi zobrazí hlásenie.The second argument is evaluated which displays a messages to the user. Vrátená hodnota funkcie IfError je vrátenou hodnotou funkcie Notify, ktorá sa prevedie na rovnaký typ ako prvý argument funkcie IfError (číslo).The return value of IfError is the return value of Notify, coerced to the same type as the first argument to IfError (a number). 11
IfError( 1/0; 1/0; 2; 1/0; 3 )IfError( 1/0, 1/0, 2, 1/0, 3 ) Prvý argument vracia chybovú hodnotu (z dôvodu delenia nulou).The first argument is returning an error value (due to division by zero). Vyhodnotí sa druhý argument, ktorého výsledkom je takisto chybná hodnota (ďalšie delenie nulou).The second argument is evaluated, also resulting in an error value (another division by zero). Vyhodnotí sa tretí argument, ktorého výsledkom nie je chybná hodnota, ktorá sa vráti.The third argument is evaluated, which does not return in an error value which is returned. Štvrtý a piaty argument sa ignorujú.The fourth and fifth arguments are ignored. 22

Podrobný postupStep by step

  1. Pridajte ovládací prvok Vstup textu a nazvite ho TextInput1, ak sa už tak predvolene nazýva.Add a Text input control, and name it TextInput1 if it doesn't have that name by default.

  2. Pridajte ovládací prvok Označenie a nazvite ho Label1, ak sa už tak predvolene nazýva.Add a Label control, and name it Label1 if it doesn't have that name by default.

  3. Nastavte vzorec pre vlastnosť Text prvku Label1 na:Set the formula for Label1's Text property to:

    IfError( Value( TextInput1.Text ); -1 )IfError( Value( TextInput1.Text ), -1 )

  4. Do TextInput1 zadajte 1234.In TextInput1, type 1234.

    Label1 zobrazí hodnotu 1234, pretože je to platný vstup pre funkciu Value.Label1 will show the value 1234 as this is a valid input to the Value function.

  5. Do TextInput1 zadajte ToInfinity.In TextInput1, type ToInfinity.

    Label1 zobrazí hodnotu -1, pretože nejde o platný vstup pre funkciu Value.Label1 will show the value -1 as this is not a valid input to the Value function. Ak by ste nezabalili funkciu Value do funkcie IfError, označenie by nezobrazilo žiadnu hodnotu, pretože chybná hodnota sa považuje za prázdnu.Without wrapping the Value function with IfError, the label would show no value as the error value is treated as a blank.