Cursos
Módulo
Gestionar errores usando el lenguaje de la aplicación en Dynamics 365 Business Central - Training
Aprenda a gestionar errores usando el lenguaje de la aplicación (AL) en Dynamics 365 Business Central.
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Un error en el lenguaje de fórmulas M de Power Query es una indicación de que el proceso de evaluación de una expresión no pudo generar un valor. Los errores se generan mediante operadores y funciones que encuentran condiciones de error o mediante la expresión error. Los errores se controlan mediante la expresión try. Cuando se produce un error, se especifica un valor que se puede usar para indicar por qué se produjo el error.
Una expresión try convierte los valores y los errores en un valor de registro en el que se indica si la expresión try controló un error (o no) y el valor correcto o el registro de error que extrajo al controlar el error. Por ejemplo, considere la siguiente expresión, que genera un error y, después, lo controla inmediatamente:
try error "negative unit count"
Esta expresión se evalúa como el siguiente valor de registro anidado, que explica las búsquedas de campo [HasError], [Error]
y [Message]
en el ejemplo de precio de unidad anterior.
[
HasError = true,
Error =
[
Reason = "Expression.Error",
Message = "negative unit count",
Detail = null
]
]
Un caso habitual es reemplazar los errores por valores predeterminados. La expresión try se puede usar con una cláusula otherwise opcional para lograr justamente eso en un formato compacto:
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
En el ejemplo anterior se accede al campo Sales[UnitPrice]
y se da formato al valor que genera el resultado:
"Unit Price: 2"
Si el campo Units hubiera sido cero, el campo UnitPrice
habría generado un error que habría controlado la expresión try. De haber sido así, el valor resultante hubiera sido el siguiente:
"No Units"
Cursos
Módulo
Gestionar errores usando el lenguaje de la aplicación en Dynamics 365 Business Central - Training
Aprenda a gestionar errores usando el lenguaje de la aplicación (AL) en Dynamics 365 Business Central.
Documentación
Más información sobre: Metadatos
Expresiones, valores y expresión Let - PowerQuery M
Más información sobre: Expresiones, valores y expresión let
Valores dinámicos - PowerQuery M
Más información sobre: Valores dinámicos