Wikipedia dice que "Se dice que un fragmento de código es excepcional, si las fallas de tiempo de ejecución dentro del código no producen efectos negativos, como pérdidas de memoria, datos almacenados ilegibles o resultados no válidos. El código de excepción segura debe satisfacer invariantes colocados en el código incluso si ocurren excepciones ".Excepción de seguridad en Qt
Y parece que necesitamos el manejo de excepciones para la seguridad de excepciones. Por otro lado, el manejo de excepciones no es muy popular en las aplicaciones de Qt, siempre que lo vea.
¿Cuáles son sus mejores prácticas en Qt para cumplir con la excepción de seguridad? ¿Qué usas en lugar del manejo de excepciones?
QT es una biblioteca muy antigua y muy pobre en lo que respecta a la seguridad de excepciones. Considere cómo se deben asignar todos los widgets pero no hay un puntero inteligente para RAII. Lo mejor que puede hacer es asignarlos a un auto_ptr y liberar la memoria a la matriz/diseño al insertar.Tienen algunas disposiciones básicas como QMutexLocker, ya que tirar mientras está bloqueado un mutex sería desastroso, pero hay mucho más que necesitan proporcionar o mucho trabajo que tendrás que hacer tú mismo para usar qt de una manera segura. . – stinky472
@ stinky472: Incorrecto. [QSharedPointer] (http://doc.trolltech.com/4.6/qsharedpointer.html) – MSalters
@ stinky472: ¿Qué toolkits de la GUI permiten asignar los widgets? ¿Y por qué querrías hacer esto? Suena como un argumento de "hombre de paja". – kevinarpe