Поясняю. В исключениях есть два аспекта. Уничтожение какой-то части мира, созданного в ходе неправильного выполнения, и автоматическое освобождение ресурсов. Про освобождение ресурсов особо нечего и говорить. Оно подобно директиве "уходя, гасите свет". Мы запомнили, что свет нужно гасить уходя, и можно больше про свет не думать. Это finally.
Теперь про само исключение. Философия выброса исключения состоит в том, что мы для каждой ошибочной ситуации определяем повреждённый кусок мира и просто уничтожаем его. Мы считаем, что после остановки неверно пошедшей деятельности (нелокальном возврате куда-то «в начало» и освобождения ресурсов по finally) программа придёт в какое-то устойчивое состояние, при котором она может работать дальше.
Это правильно и этот шаблон поведения мы встречаем во всех отраслях мироздания.
- В живом организме единицей уничтожения при борьбе с болезнью является целая клетка. Иммунная система не пытается чинить клетку, она просто её уничтожает, когда считает, что эта клетка заражена.
- В общесте есть «отпущение грехов». Это касается далеко не только христианской культуры. Подобные обычаи списания долгов, очищения от скверны и т.п. есть в большинстве обществ. Противоположные примеры выглядят печально. Полная компенсация ущерба - это принцип «око за око». При его соблюдении однажды начавшаяся вражда может только нарастать. Целые народы могут «сгорать» в огне кровной мести, начало которой уже давно забыто. В итоге последствия одной ошибки могут длиться неограниченно долго. Другой пример - это прецедентное право, которое создаёт очень корявую законодательную систему, не имеющую способа упроститься.
- В кораблях есть отсеки, отделённые водонепроницаемыми перегородками. Можно пожертвовать одним отсеком, при этом внутренний объём отсека полностью утрачивается, но протечка локализуется.