Действительно ли исключения для исключительных ошибок? [закрыто]
Насколько я понимаю, здравый смысл подсказывает использовать исключения только для действительно исключительных условий (на самом деле, я видел это утверждение здесь в SO несколько раз).
Однако Кшиштоф Квалина говорит:
Одно из самых больших заблуждений об исключениях состоит в том, что они предназначены для «исключительных условий». Реальность такова, что они предназначены для сообщения об ошибках. С точки зрения дизайна каркаса не существует такого понятия, как «исключительное условие». Является ли условие исключительным или нет, зависит от контекста использования, но библиотеки многократного использования редко знают, как они будут использоваться. Например, OutOfMemoryException может быть исключительным для простого приложения ввода данных; это не так уж и необычно для приложений, выполняющих собственное управление памятью (например, SQL-сервер). Другими словами, исключительное состояние одного человека является хроническим состоянием другого человека.
Затем он также говорит, что исключения должны использоваться для:
Ошибки использованияПрограммные ошибкиСистемные сбоиУчитывая, что Кшиштоф Квалина - руководитель группы CLR в MS, я спрашиваю: что вы думаете о его заявлении?