¿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 especificadovoid 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:
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