Die echte Fehlermeldung mit result() auslesen
Quizfrage
Worauf darf result() in einem Ausdruck zeigen?
Auflösung
- A) Auf jede beliebige Aktion im ganzen FlowFalsch. Zeigt result() auf eine einfache Aktion wie Compose, scheitert schon das Speichern.
- B) Nur auf den Trigger am Anfang des FlowsFalsch. Der Trigger enthält keine Aktionen. result() braucht einen Container mit Aktionen darin.
- C) Auf einen Scope, Apply to each oder UntilRichtig. result() liest die Aktionen in einem solchen Container. Zeigt es auf eine einfache Aktion, lässt sich der Flow nicht speichern.
Worum es geht
Scheitert ein Flow nachts, steht der Grund in der Run history. Wer ihn kennen muss, kann sie oft nicht öffnen. Die Funktion result() holt dir die Details: result('Try') liefert ein Array mit allen Aktionen der obersten Ebene des Scopes Try, je mit name, status, code und bei Fehlern einem Objekt error mit der Meldung. In einer Aktion, die nur bei «has failed» läuft, filterst du das Array mit Filter array auf status gleich Failed. Den Text holst du mit first(body('Filter_array'))?['error']?['message'] und schickst ihn per Mail weiter. result() funktioniert nur mit einem Scope, Apply to each oder Until. Liegt der Fehler tiefer, wendest du result() auf die innere Ebene an.
Der Ausdruck aus dem Tipp
first(body('Filter_array'))?['error']?['message']Wann einsetzen, wann nicht
Einsetzen
Wenn Fachleute, Admins oder ein Agent wissen müssen, warum ein Lauf gescheitert ist.
Lieber nicht
Für Aktionen ausserhalb des Scopes. result() sieht nur, was im Container steht.
Häufigster Fehler
Nur die oberste Ebene auslesen. Fehler in einer Condition oder einem inneren Scope stehen erst im result() dieser Ebene.
Lizenz
Standard Läuft ohne Premium-Connector, also mit der Lizenz aus Microsoft 365. Beleg bei Microsoft Learn: Power Automate licensing FAQ. Für deinen ganzen Flow: Lizenz-Check.
Lieber mit Begleitung? Der Live-Kurs Power Automate der Power Platform Academy führt in vier Wochen von den Grundlagen bis zu Error Handling und Scopes.
Teilen
Kurzadresse: powerautomate.ninja/168
Quelle: PowerPlatformTip #168, Microsoft Learn: Employ robust error handling.