Excepciones

5. Excepciones

5.2. Destrucción de Objetos Dinámicos.

El gran problema de la destrucción de objetos temporales consiste en que no todos ellos se crean directamente como variables de pila, sino que muchas veces se utilizan punteros a objetos.

Archivo terminos_fibonacci.txt:


Código:

Las reglas de C++ son claras al respecto: los objetos creados en la memoria dinámica deben ser destruidos explícitamente mediante una llamada al operador delete. ¿Y si ocurre una excepción dentro de suma?, no se libera el objeto, se pierde su memoria y se queda un fichero abierto.

Si esto fuera al acceso a una tabla de una base de datos al perder conectividad con el Servidor:

  • la misma podría quedar con inconsistencias
  • o al acceder está bloqueada por que otro proceso la está usando,  por ejemplo.

Podemos ver que en algunos casos no tenemos manera de anticiparnos a una posible excepción!!