> -- Vlad писал(а):
> И если в языке делать это обработку непросто (проводится политика "нам это не нужно, потому что у нас есть коды возвратов, а если коды для вас не модно, то извращайтесь с ООП разъемами"), то на практике это приводит к тому, что ошибки или не обрабатываются (игнорируются) или обрабатываются "на отвяжись" (в лучшем случае возвращается невнятный код ошибки).
И Вы тоже не поняли мысли... Саму тему Geniepro начал отсюда:viewtopic.php?p=11906#p11906- там упоминалось мнение Бертрана Мейера по поводу обработки исключений.
Ошибки, про которые Вы говорите (при взаимодействии с внешней средой) - это пока ещё НЕ ИСКЛЮЧЕНИЯ. Не исключения до тех пор, пока их можно делегировать на верхний уровень. Т.е. пока это ожидаемо. И здесь лучше коды ошибок.

Речь идёт о ситуации, когда делегировать выше мы не можем - потому что наша служба имеет высокоуровневый интерфейс, который имеет контракт (пред-постусловия) более сильный, чем можно обеспечить на базе слоя, лежащего ниже. Например, мы дали выше абстракцию абсолютно надёжной связи, а ниже-то лежит сеть, из которой узел может в любой момент пропасть... И вот это уже действительно исключение, потому что связано с нарушением контракта. И нужно эту разницу в контрактах компенсировать. Только делегация вверх по стеку в таких ситуациях часто бессмысленна, особенно в параллельных приложениях. Так что try-catch оказывается бесполезен. А выручают "разъёмы". Так на кой мне в языке тот механизм, который в единственном реально нужном и важном случае не позволяет организовать обработку НАСТОЯЩИХ исключений? (а не багов, кои должны обрабатываться ASSERT + библиотечной try-обёрткой где-то на уровне главного цикла сообщений приложения, и не предусмотренных ошибок, которые делегируются всегда точно на уровень вверх и для которых ничего лучше кодов ошибок не придумано...)