Formazione
Modulo
Informazioni sulla gestione degli errori in Dynamics 365 Business Central usando il linguaggio dell'applicazione (AL).
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Un errore nel linguaggio delle formule M di Power Query indica che il processo di valutazione di un'espressione non è stato in grado di produrre un valore. Gli errori vengono generati dagli operatori e dalle funzioni che riscontrano condizioni di errore o tramite l'espressione error. Gli errori vengono gestiti con l'espressione try. Quando viene generato un errore, viene specificato un valore che può essere usato per indicare il motivo per cui si è verificato l'errore.
Un'espressione try converte i valori e gli errori in un valore di record che indica se l'espressione try ha gestito o meno un errore, nonché il valore appropriato o il record di errore estratto durante la gestione dell'errore. Si consideri, ad esempio, l'espressione seguente che genera un errore e quindi lo gestisce immediatamente:
try error "negative unit count"
Questa espressione restituisce il valore di record annidato seguente, che spiega le ricerche nei campi [HasError], [Error]
e [Message]
nell'esempio di prezzo unitario precedente.
[
HasError = true,
Error =
[
Reason = "Expression.Error",
Message = "negative unit count",
Detail = null
]
]
Un caso comune prevede la sostituzione degli errori con i valori predefiniti. L'espressione try può essere usata con una clausola otherwise facoltativa per ottenere questo risultato in un formato compatto:
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
L'esempio precedente accede al campo Sales[UnitPrice]
e formatta il valore producendo il risultato:
"Unit Price: 2"
Se il campo Units fosse stato zero, il campo UnitPrice
avrebbe generato un errore che sarebbe stato gestito da try. Il valore risultante sarebbe stato quindi:
"No Units"
Formazione
Modulo
Informazioni sulla gestione degli errori in Dynamics 365 Business Central usando il linguaggio dell'applicazione (AL).