Which lines does this program print?

from Event subscription and lifetime
C# 14 / .NET 10 intermediate 2 min

Which lines does this program print?

csharp
using System;

var signal = new Signal();
signal.Changed += (_, _) => Console.WriteLine("first");
signal.Changed += (_, _) => throw new Exception("failed");
signal.Changed += (_, _) => Console.WriteLine("third");

try { signal.Raise(); }
catch (Exception) { Console.WriteLine("caught"); }

public sealed class Signal
{
    public event EventHandler? Changed;
    public void Raise() => Changed?.Invoke(this, EventArgs.Empty);
}
Open in playground
Report an error