Compartilhar via


Tratamento de erros

O Power Fx inclui uma versão prévia do recurso que permite o tratamento de erros em nível de fórmula. Por padrão, este recurso é ativado em Configurações.

Captura de tela dos Próximos Recursos em Configurações mostrando o gerenciamento de erros em nível de fórmula definido como Ativado.

Essa configuração fornece acesso a fórmulas como IfError, IsError, Errore IsBlankorError. Essas funções permitem detectar erros, fornecer valores alternativos ou executar ações específicas com base no erro.

Tratamento de erros de validação

Essas funções ajudam a validar entradas como formatos incorretos ou campos obrigatórios. Use as instruções If ou funções como IsBlank e IsError para validar a entrada do usuário. Forneça mensagens de erro claras e evite o processamento adicional até que a entrada seja corrigida.

If( IsBlank(TextInput.Text),
    Notify("Field cannot be blank", 
    NotificationType.Error),
    // Continue with processing
)

Tratamento de erros da função Patch

Semelhante ao exemplo anterior, as funções Error ajudam a capturar erros ao aplicar patches de dados em uma fonte de dados. A função Patch relata erros de duas maneiras.

Ela pode retornar um valor de erro como resultado das operações.

UpdateContext(
    {   
    result : Patch(
             Feeds,
             Defaults(Feeds),
             {
                 createdon: Now(),
                 crde8_content: TextInput1_1.Text
                 cr9ce_imageurl: filename
             }
        )
    }
)

Você pode detectar erros com IsError e substituí-los ou suprimi-los por IfError.

IfError(result, Notify("There was an issue saving data" , NotificationType.Error));
IfError(result, Notify("There was an issue saving data" , & FirstError.Message, NotificationType.Error))

If(
    IsError(
        Patch(
            Feeds,
            Defaults(Feeds),
            {
                createdon: Now(),
                crde8_content: TextInput1_1.Txt,
                cr9ce_imageurl: filename        
            }
        )
    ),
    Notify("Error: There was an issue saving data", NotificationType.Error)
)

Tratamento de erros de formulários

Quando você usa formulários para enviar dados com a função SubmitForm, use a propriedade de controle de Formulário OnFailure para notificar os usuários sobre mensagens de erro.

// OnSelect property of the form's submit button
SubmitForm(frm_SubmitData);

// OnSuccess property of the form
Navigate('Success Screen');

// OnFailure property of the form
Notify("Error: the invoice could not be created", NotificationType.Error);

Mensagem de erro personalizada com a propriedade OnError

A propriedade OnError do Power Apps permite capturar todos os erros não tratados em seu aplicativo. A propriedade OnError oferece a capacidade de executar uma expressão que é executada sempre que um erro não é tratado pelo aplicativo (como armazená-lo em uma variável ou usar uma função como IfError para substituí-lo por algum outro valor). Para usar apropriedade OnError, você precisa adicioná-la ao aplicativo ao qual deseja aplicá-la. Em seguida, você pode especificar a mensagem de erro que deseja exibir escrevendo uma fórmula na caixa de propriedades OnError.

É importante observar que App.OnError não pode substituir o erro da mesma forma que IfError pode. No ponto em que App.OnError é executado, o erro já aconteceu e o resultado se propagou por meio de outras fórmulas.  App.OnError controla apenas como o erro é relatado ao usuário final e fornece um gancho para o criador registrar o erro, se desejar.

Este código na App.OnError pode ajudar a localizar a origem do erro:

Notify(
    Concatenate(
        FirstError.Message,
        ", Observed: ",
        FirstError.Observed,
        ", Source: ",
        FirstError.Source
    ),
    NotificationType.Error
)

Tratamento de erro do Power Fx

Próxima etapa