2017-09-20 6 views
2

Beim Schreiben einer Azure-Funktion in kompiliertes C#/F # ist die sauberste Möglichkeit, der Funktionslaufzeit zu signalisieren, dass die Funktion fehlgeschlagen ist.Was ist der beste Weg, um einen Fehler in einer Azure-Funktion zu signalisieren?

Ich weiß, dass das Auslösen einer Ausnahme zu einem Fehler führt, aber ich würde lieber diese intern behandeln. Ich habe auch bemerkt, dass wenn die Funktion in log.Error schreibt, die Ausführung immer noch als erfolgreich angesehen wird.

Ist eine Ausnahme die einzige Möglichkeit, einen Fehler zu signalisieren, oder gibt es eine bessere Übung?

Antwort

4

Ja, wenn Sie eine Ausnahme auslösen, signalisieren Sie einen Fehler. Selbst wenn Sie Fehler innerhalb Ihrer Funktion protokollieren, berücksichtigt der Funktions-Host dies nicht, wenn Sie Erfolg/Fehlschlag feststellen.

+0

Stellen Sie einfach sicher, dass Sie Ihren eigenen Exception-Typ erstellen, denn die Dinge werden sehr verwirrend aussehen, wenn Sie Telemetrie in Application Insights später zusammen mit allen möglichen anderen (Runtime-) Ausnahmen betrachten. Den Stack zu erweitern Trace ruiniert die Vogelperspektive ... das könnte ein Zitat sein :) – evilSnobu

Verwandte Themen