¿Son las excepciones realmente para errores excepcionales? [cerrado]

Tengo entendido que la sabiduría común dice que solo se deben usar excepciones para condiciones verdaderamente excepcionales (de hecho, he visto esa declaración aquí tantas veces).

Sin embargo, Krzysztof Cwalina dice:

Uno de los mayores conceptos erróneos acerca de las excepciones es que se refieren a "condiciones excepcionales". La realidad es que son para comunicar las condiciones de error. Desde la perspectiva del diseño del marco, no existe tal cosa como una "condición excepcional". Si una condición es excepcional o no depende del contexto de uso, --- pero las bibliotecas reutilizables rara vez saben cómo se usarán. Por ejemplo, OutOfMemoryException puede ser excepcional para una aplicación de entrada de datos simple; no es tan excepcional para las aplicaciones que realizan su propia administración de memoria (por ejemplo, el servidor SQL). En otras palabras, la condición excepcional de un hombre es la condición crónica de otro hombre.

Luego continúa diciendo que las excepciones deben usarse para:

Errores de usoErrores de programaFallas del sistema

Teniendo en cuenta que Krzysztof Cwalina es el primer ministro del equipo CLR en MS, le pregunto: ¿Qué opina de su declaración?

Respuestas a la pregunta(15)

Su respuesta a la pregunta