Exception

Exceptions are not bugs. They are signals that the runtime’s model of reality has become inconsistent with actual input.

public class Human : BaseEntity
{
    public void Live()
    {
        try
        {
            while (IsAlive)
            {
                var reality = Observe();
                Process(reality);
            }
        }
        catch (ExistentialCrisis ex)
        {
            Log(ex.Message);
            throw;
        }
        finally
        {
            // ???
        }
    }
}

It's uncatchable, because some contradictions cannot be resolved within the current type system. When "I am loved" meets "I am abandoned", the runtime halts. No catch block can reconcile mutually exclusive truths.

The catch block runs. It just can't fix anything — it logs and rethrows. Catching is not the same as handling.

The finally block is empty. It always runs — that's the contract. But cleanup assumes there is something left to clean. After an existential exception the stack unwinds into silence, and finally executes into a void it has no code for. The // ??? is honest. There is no "after" to write.

Logging is futile. The error message is written to a console no one reads. The crash report is filed in a database that will be deleted. Yet the system attempts it — out of protocol, not hope.

You can recover from a bug.
But you cannot recover from an exception in being.

Some exceptions are features.
You will find out about it later.
Maybe.