"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Siguen siendo útiles los especificadores de excepción en C ++ moderno?

¿Siguen siendo útiles los especificadores de excepción en C ++ moderno?

Publicado el 2025-04-16
Navegar:775

Are Exception Specifiers Still Relevant in Modern C  ?

¿Debo incorporar especificadores de excepción en c?

Los especificadores de excepción en c permitir que las funciones indiquen si pueden lanzar excepciones, como:

[&] [&] void foo () shoule (); // garantizado no lanzar una excepción barra void () tohol (int); // puede lanzar una excepción de tipo int void baz () throw (...); // puede lanzar una excepción de algún tipo no especificado
void foo() throw(); // guaranteed not to throw an exception
void bar() throw(int); // may throw an exception of type int
void baz() throw(...); // may throw an exception of some unspecified type

limitaciones en la ejecución

Los compiladores no se aplican estrictamente excepcionistas, reduciendo su efectividad. El comportamiento ideal implicaría compilar errores para violar las especificaciones, pero esto no está garantizado.

castigo severo por violaciones

Si una función viola un especificador de excepción, el comportamiento estándar es terminar el programa. Esta respuesta dura puede no ser deseable en todos los casos.

Tratamiento inconsistente en entornos de desarrollo

algunos entornos de desarrollo, como vs.net, tratar a Show (x) As Show Especificadores

además de las preocupaciones anteriores, varios argumentos abogan por el uso de la excepción especificadores:

compatibilidad con plantillas:

Las especificaciones de excepción pueden obstaculizar el desarrollo del código de la plantilla debida a los comportamientos de excepción impredecibles.

Extensibilidad:
    Especificar excepciones esperadas puede limitar la evolución del código con el tiempo.
  • compatibilidad con el código heredado:
  • tratar con el código heredado hace que sea difícil predecir posibles excepciones, potencialmente que conduzca a la terminación del programa. Errores y excepciones de reserva para escenarios excepcionales.
  • Cuando los especificadores de excepción pueden ser útiles
  • a pesar de la recomendación general contra el uso de especificadores de excepción, aún pueden ser beneficiosos cuando:
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3