Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
✐<br />
✐<br />
✐<br />
“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 16 — #54<br />
✐<br />
Capítulo 1. Introducción a los Objetos<br />
l<strong>en</strong>guaje <strong>C++</strong> por lo que no se incluye, aunque exist<strong>en</strong> recolectores de basura para<br />
<strong>C++</strong>, creados por terceros.<br />
1.8. Gestión de excepciones: tratami<strong>en</strong>to de errores<br />
Desde los inicios de los l<strong>en</strong>guajes de programación, la gestión de errores ha sido<br />
uno de los asuntos más difíciles. Es tan complicado diseñar un bu<strong>en</strong> esquema<br />
de gestión de errores, que muchos l<strong>en</strong>guajes simplem<strong>en</strong>te lo ignoran, delegando el<br />
problema <strong>en</strong> los diseñadores de la librería, que lo resuelv<strong>en</strong> a medias, de forma que<br />
puede funcionar <strong>en</strong> muchas situaciones, pero se pued<strong>en</strong> eludir, normalm<strong>en</strong>te ignorándolos.<br />
El problema más importante de la mayoría de los esquemas de gestión de<br />
errores es que dep<strong>en</strong>d<strong>en</strong> de que el programador se preocupe <strong>en</strong> seguir un conv<strong>en</strong>io<br />
que no está forzado por el l<strong>en</strong>guaje. Si los programadores no se preocupan, cosa que<br />
ocurre cuando se ti<strong>en</strong>e prisa, esos esquemas se olvidan fácilm<strong>en</strong>te.<br />
La gestión de excepciones «conecta» la gestión de errores directam<strong>en</strong>te <strong>en</strong> el l<strong>en</strong>guaje<br />
de programación y a veces incluso <strong>en</strong> el sistema operativo. Una excepción es un<br />
objeto que se «lanza» desde el lugar del error y puede ser «capturado» por un manejador<br />
de excepción apropiado diseñado para manipular este tipo particular de error.<br />
Es como si la gestión de errores fuera una ruta de ejecución difer<strong>en</strong>te y paralela que<br />
se puede tomar cuando las cosas van mal. Y como usa un camino separado de ejecución,<br />
no necesita interferir con el código ejecutado normalm<strong>en</strong>te. Eso hace que el<br />
código sea más simple de escribir ya que no se fuerza al programador a comprobar<br />
los errores constantem<strong>en</strong>te. Además, una excepción no es lo mismo que un valor de<br />
error devuelto por una función o una bandera fijada por una función para indicar<br />
una condición de error, que se puede ignorar. Una excepción no se puede ignorar, de<br />
modo que está garantizado que habrá que tratarla <strong>en</strong> algún mom<strong>en</strong>to. Finalm<strong>en</strong>te,<br />
las excepciones proporcionan una forma para recuperar una situación consist<strong>en</strong>te.<br />
En lugar de salir simplem<strong>en</strong>te del programa, a m<strong>en</strong>udo es posible arreglar las cosas<br />
y restaurar la ejecución, lo que produce sistemas más robustos.<br />
Merece la p<strong>en</strong>a t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta que la gestión de excepciones no es una característica<br />
ori<strong>en</strong>tada a objetos, aunque <strong>en</strong> l<strong>en</strong>guajes ori<strong>en</strong>tados a objetos las excepciones<br />
normalm<strong>en</strong>te se repres<strong>en</strong>tan con objetos. La gestión de excepciones existía antes que<br />
los l<strong>en</strong>guajes ori<strong>en</strong>tados a objetos.<br />
En este Volum<strong>en</strong> se usa y explica la gestión de excepciones sólo por <strong>en</strong>cima; el<br />
Volúm<strong>en</strong> 2 (disponible <strong>en</strong> www.BruceEckel.com) cubre con más detalle la gestión de<br />
excepciones.<br />
1.9. Análisis y diseño<br />
El paradigma ori<strong>en</strong>tado a objetos es una nueva forma de p<strong>en</strong>sar sobre programación<br />
y mucha g<strong>en</strong>te ti<strong>en</strong>e problemas la primera vez que escucha cómo se aborda<br />
un proyecto POO. Una vez que se sabe que, supuestam<strong>en</strong>te, todo es un objeto, y cómo<br />
apr<strong>en</strong>der a p<strong>en</strong>sar al estilo ori<strong>en</strong>tado a objetos, puede empezar a crear «bu<strong>en</strong>os»<br />
diseños que aprovech<strong>en</strong> las v<strong>en</strong>tajas de todos los b<strong>en</strong>eficios que ofrece la POO.<br />
Un método (llamado a m<strong>en</strong>udo metodología) es un conjunto de procesos y heurísticas<br />
usados para tratar la complejidad de un problema de programación. Desde<br />
el comi<strong>en</strong>zo de la programación ori<strong>en</strong>tada a objetos se han formulado muchos métodos.<br />
Esta sección le dará una idea de cuál es el objetivo que se int<strong>en</strong>ta conseguir<br />
16<br />
✐<br />
✐<br />
✐<br />
✐