Uzyskiwanie błędów z polami o wartości null
Ten artykuł zawiera informacje ułatwiające obsługę błędów środowiska uruchomieniowego przepływu i nieoczekiwanych zachowań związanych z polami o wartości null.
Dotyczy: Power Automate
Oryginalny numer KB: 4535432
Symptomy
Podczas tworzenia przepływu w usłudze Power Automate mogą wystąpić następujące problemy:
Podczas wykonywania akcji z polem o wartości null występują nieoczekiwane zachowania.
Błędy środowiska uruchomieniowego występują, jeśli nie obsługujesz poprawnie pól o wartości null. Na przykład:
InvalidTemplate. Nie można przetworzyć wyrażeń języka szablonu. Podana wartość jest typu "Null".
Przyczyna
- Jeśli akcja odbiera pole o wartości null jako dane wejściowe, gdy oczekuje innej wartości, może to spowodować nieprawidłowe zachowanie.
- Jeśli wyrażenie oczekuje, że jego parametr będzie ciągiem, obiektem lub tablicą, ale zamiast tego otrzyma odpowiedź o wartości null, może to spowodować błąd środowiska uruchomieniowego.
Rozwiązanie 1. Dodawanie sprawdzania warunku
Aby sprawdzić odpowiedź o wartości null, możesz dodać warunek do przepływu, wykonując następujące kroki. Następnie możesz podjąć odpowiednie działania w celu obsługi warunku.
W przepływie usługi Power Automate dodaj nową akcję Warunek .
Wybierz dane wyjściowe zawartości dynamicznej, które chcesz sprawdzić. Na przykład adres e-mail użytkownika.
Ustaw operację na wartość nie jest równa.
W polu wartości dodaj wartość wyrażenia jako null.
Rozdzielczość 2. Korzystanie z funkcji coalesce
Możesz również użyć coalesce
funkcji , aby podać wartości domyślne, gdy wartość ma wartość null. Na przykład użycie metody coalesce(trigger().outputs, '')
spowoduje ustawienie domyślne dla pustego ciągu, jeśli trigger().outputs
ma wartość null.
Uwaga 16.
Jeśli po użyciu coalesce
funkcji nadal wystąpi błąd środowiska uruchomieniowego, może to być spowodowane odwoływaniem się do właściwości null w obiekcie. Możesz użyć operatora znaku zapytania (?) do obsługi danych wyjściowych o wartości null z wyzwalacza. Na przykład: @coalesce(trigger().outputs?.body?.<someProperty>, '<property-default-value>').
.
Aby uzyskać więcej informacji, zobacz Coalesce and Operators (Łączenie i operatory).