Pensar En Cpp Vol2
✐
“Volumen2” — 2012/1/12 — 13:53 — page I — #1
✐
✐
Pensar en C++ (Volumen 2)
Traducción (INACABADA) del libro Thinking in C++, Volumen 2
Bruce Eckel
12 de enero de 2012
Puede encontrar la versión actualizada de este libro e información adicional sobre el proyecto de traducción en
http://arco.esi.uclm.es/~david.villa/pensarC++.html
✐
✐
✐
✐
✐
✐
“Volumen2” — 2012/1/12 — 13:53 — pageII — #2
✐
✐
Pensar en C++ (Volumen 2)
by Bruce Eckel
Copyright © 2004 Bruce Eckel
II
✐
✐
✐
✐
✐
✐
“Volumen2” — 2012/1/12 — 13:53 — page III — #3
✐
✐
Índice general
1. Introducción
I
1
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2. Capítulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3. Ejercicios . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.1. Soluciones de los ejercicios . . . . . . . . . . . . . . . . . . . . .
4
1.4. Código fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.5. Compiladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.6. Estándares del lenguaje . . . . . . . . . . . . . . . . . . . .. . . . . . . .
5
1.7. Seminarios, CD-ROMs y consultoría . . . . . . . . . . . . . . . . . . . .
5
1.8. Errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.9. Sobre la portada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.10. Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Construcción de Sistemasestables
9
2. Tratamiento de excepciones
13
2.1. Tratamiento tradicional de errores . . . . . . . . . . . . . . . . . . . . . 13
2.2. Lanzar una excepción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Capturar una excepción . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1. El bloque try . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2.Manejadores de excepción . . . . . . . . . . . . . . . . . . . . . . 16
2.3.3.
2.4.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.1. Capturar cualquier excepción . . . . . . . . . . . . . . . . . . . . 17
2.4.2. Relanzar una excepción . . . . . . . . . . . . . . . . . . . . . . . 182.4.3. Excepciones no capturadas . . . . . . . . . . . . . . . . . . . . . 18
2.5. Limpieza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.1. Gestión de recursos . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
III
✐
✐
✐
✐
✐
✐
“Volumen2” — 2012/1/12 — 13:53 — page IV — #4✐
✐
Índice general
2.5.3. auto_ptr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.4. Bloques try a nivel de función . . . . . . . . . . . . . . . . . . . 22
2.6. Excepciones estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7. Especificaciones de excepciones . . . . . . . . . . . . . . . . . . . . . . . 24
2.7.1. ¿Mejores especificaciones deexcepciones? . . . . . . . . . . . . 25
2.7.2. Especificación de excepciones y herencia . . . . . . . . . . . . . 26
2.7.3. Cuándo no usar especificaciones de excepción . . . . . . . . . . 26
2.8. Seguridad de la excepción . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.9. Programar con excepciones . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.9.1. Cuándo evitar las excepciones . . . . .. . . . . . . . . . . . . . 28
2.9.2. Usos típicos de excepciones . . . . . . . . . . . . . . . . . . . . . 28
2.10. Sobrecarga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.11. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.12. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3. Programación...
Regístrate para leer el documento completo.