Разматывание стека происходит в обоих этих случаях, просто при нормальном выполнении стек разматывается только в контекст вызывающего метода (или блока), когда исполняемый метод возвращается (или выход из блока). Локальные переменные размещаются в стеке, поэтому они очищаются в обратном порядке распределения, и именно этот процесс называется разматыванием. Это ничем не отличается от обработки любого другого типа данных, которые вы будете хранить в структуре LIFO - например, отменить, повторить.
Когда выдается исключение, обработчик разматывает стек через ноль или более методов, пока не найдет тот, который может перехватить исключение, или пока он не достигнет вершины стека, после чего будет вызван обработчик необработанного исключения. .
Кажется, принято использовать термин «разматывание стека» только в случае обработки исключений, но в каждом из этих случаев происходит одинаковый процесс. Конкретный случай, когда стек раскручивается из-за метода выхода, называется возвращением, и, похоже, не существует соглашения о присвоении имен тому, что происходит при выходе из блока с областью видимости.