Školení
Modul
Handle errors by using application language in Dynamics 365 Business Central - Training
Learn how to handle errors in Dynamics 365 Business Central by using application language (AL).
Tento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Chyba v jazyce vzorců Power Query M značí, že proces vyhodnocení výrazu nemůže vytvořit hodnotu. Chyby jsou vyvolány operátory a funkcemi, u kterých dochází k chybám , nebo pomocí výrazu chyby . Chyby se zpracovávají pomocí výrazu try . Při vyvolání chyby je zadána hodnota, která se dá použít k označení, proč k chybě došlo.
Výraz try převede hodnoty a chyby na hodnotu záznamu, která označuje, jestli výraz try zpracoval chybu, nebo ne, a buď správnou hodnotu, nebo záznam chyby extrahovaný při zpracování chyby. Představte si například následující výraz, který vyvolá chybu, a pak ji okamžitě zpracuje:
try error "negative unit count"
Tento výraz se vyhodnotí jako následující vnořená hodnota záznamu, která [HasError], [Error]
vysvětluje vyhledávání polí [Message]
v příkladu jednotkové ceny dříve.
[
HasError = true,
Error =
[
Reason = "Expression.Error",
Message = "negative unit count",
Detail = null
]
]
Běžným případem je nahrazení chyb výchozími hodnotami. Výraz try lze použít s volitelnou klauzulí otherwise k dosažení pouze toho v kompaktní podobě:
try error "negative unit count" otherwise 42
// equals 42
let Sales =
[
ProductName = "Fishing rod",
Revenue = 2000,
Units = 1000,
UnitPrice = if Units = 0 then error "No Units"
else Revenue / Units
],
//Get UnitPrice from Sales record
textUnitPrice = try Number.ToText(Sales[UnitPrice]),
Label = "Unit Price: " &
(if textUnitPrice[HasError] then textUnitPrice[Error][Message]
//Continue expression flow
else textUnitPrice[Value])
in
Label
Předchozí příklad přistupuje k Sales[UnitPrice]
poli a formátuje hodnotu, která vytvoří výsledek:
"Unit Price: 2"
Pokud by pole Jednotky bylo nula, pole UnitPrice
by vyvolalo chybu, která by byla zpracována pokusem. Výsledná hodnota by pak byla:
"No Units"
Školení
Modul
Handle errors by using application language in Dynamics 365 Business Central - Training
Learn how to handle errors in Dynamics 365 Business Central by using application language (AL).