Compartilhar via


Tratamento de erros

A linguagem do Power Fx tem uma nova versão prévia do recurso para habilitar o tratamento de erros no nível da fórmula. Por padrão, essa opção é Ativada nas Configurações.

Uma captura de tela de Próximos recursos em Configurações mostrando o gerenciamento de erros no nível da Fórmula definido como Ativado

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

Tratamento de Erros de Validação

As funções acima podem ajudar na validação de entradas, como formato incorreto 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 de Patch

Semelhante ao exemplo anterior, as funções Error podem ajudar a detectar erros ao corrigir dados para fonte de dados. A função Patch relata erros de 2 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
             }
        )
    }
)

Os erros podem ser detectados com IsError e substituídos ou suprimidos com 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 Erro de Formulários

Ao usar formulários para enviar dados por meio da função SubmitForm, usando a propriedade de controle OnFailure do Form para notificar a mensagem 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 OnError do Power Apps é uma propriedade em seu aplicativo que permite capturar todos os seus erros não tratados. 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
)

Próxima etapa