Azure / Azure/azure-functions-host

Ability to run some user code whenever a binding throws an exception

Open
#5,006 6 comments 2 reactions 0 assignees View on GitHub
needs-discussion
Dominant language
C#
Stars
2k
Forks
482
Avg merge
2d 10h
Merged PRs (30d)
36

Description

Realize we may do much more than what's scoped in title (trigger for any unhandled exception) but the scenario we have committed to resolve by end of this calendar year is:

> A customer wants to use an output binding (and not using with `Flush`). If the output binding hits an exception, I need some way to get the context of the execution and the context of the exception to handle it.

We know richer bindings could allow something like `FlushAsync` for non-.NET languages (and for mitigation for now .NET users can use an `ICollectorAsync` with `FlushAsync` to catch exceptions there), but need something shorter term.

Have vetted with a few customers and the idea of having an "Exception trigger" for an "Exception function" works fine. As long as the trigger has the right context of the execution that hit an exception, and exception details, so it can be handled correctly.

Contributor guide

Open the contributing guide

Research direction

Start by reading the proposed customer scenario and the discussion about output bindings, FlushAsync, and an exception trigger. Determine how execution context and exception details should reach the proposed exception function, and treat a defined trigger contract and handling path as done; the issue names no files or tests to run.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
backend, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.