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.

No finally block. The promise of cleanup assumes continuity. But in an existential exception, the stack unwinds into silence. There is no "after".

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.