Esto es algo quisquilloso y es probable que sea solo mi agotamiento de TOC, pero me preguntaba por qué la jerarquía de clases de excepción estándar está configurada tal como está.Razones para la estructura de la jerarquía de excepción estándar
exception
bad_alloc
bad_cast
bad_typeid
bad_exception
ios_base::failure
runtime_error
subclasses...
logic_error
subclasses...
Podrían no todo el bad_ * excepciones acaba de ser subclases de algo así como lang_support_error? Y ios_base :: failure parece completamente fuera de lugar.
¿Existen razones históricas o técnicas por las que la jerarquía terminó así?
sólo sirve para demostrar lo difícil (y esencialmente sin sentido) que es diseñar jerarquías de excepción :-) –