Skip to content

Activities that fail with complex exceptions do not preserve inner exceptionsΒ #561

@andystaples

Description

@andystaples

πŸ› Describe the bug

When an activity fails with a complex exception (exception derived from inner exception), the inner exception is not preserved to the logs

πŸ€” Expected behavior

Inner exceptions should be logged as well as outer

β˜• Steps to reproduce
Function code:

@bp.activity_trigger(input_name="instance2")
def raise_complex_exception(instance2: str) -> str:
    global attempt_count
    if instance2 not in attempt_count:
        attempt_count[instance2] = 1
        raise InvalidOperationException(f"This activity failed") from OverflowException(
            "More information about the failure")
    return "This activity succeeded"

Output:

[2025-07-10T22:27:53.159Z] Executed 'Functions.raise_complex_exception' (Failed, Id=be9eec7c-214e-4c34-9570-4d123863f196, Duration=35ms)
[2025-07-10T22:27:53.160Z] System.Private.CoreLib: Exception while executing function: Functions.raise_complex_exception. System.Private.CoreLib: Result: Failure
Exception: InvalidOperationException: This activity failed
Stack:   File "C:\Program Files\Microsoft\Azure Functions Core Tools\workers\python\3.11/WINDOWS/X64\azure_functions_worker\dispatcher.py", line 671, in _handle__invocation_request
    call_result = await self._loop.run_in_executor(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...

⚑If deployed to Azure
N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Priority 2

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions