El lanzamiento de una excepción se realiza llamando a la función throw(). Cuando se lanza una excepción, en realidad lo que se hace es crear un objeto de la clase que se le indique a throw(), y precisamente será dicho objeto la excepción en sí.

Suele ser muy útil crear clases de excepciones propias para controlar las situaciones anómalas de nuestra aplicación. Por ejemplo,

En Obj Graf?.h:

//*************************************************/ // Definicion de la clase E Fuera Rango? // Clase de excepcion por entrar en “fuera de rango”: // salirse de los limites del Paint Box? al calcular // las nuevas coordenadas de dibujo de la pelota. //*************************************************/

class E Fuera Rango {};

Con lo que podríamos lanzar una excepción de la siguiente manera:

   throw Efuera Rango?();

Nota: Aunque las excepciones sean clases, en C++ Builder existe la convención de que su nombre empiece por la letra E, y no por T como el resto de las clases.

Aunque en el ejemplo anterior la clase creada para la excepción, no tiene ningún miembro (propiedades o métodos), se le pueden añadir. Éstos servirán para poder incorporar información en el objeto excepción, acerca de la situación en la que se produjo la excepción, que podrá ser utilizada por la sección de código que lo trate. Por ejemplo, si tuvieramos un método que lanzara una excepción por falta de memoria, podría ser interesante que incorporara una propiedad que indicara cual era el máximo de memoria disponible cuando se lanzó la excepción.

Por: Ing. en sistemas computacionales.Brunny Gianina Magaña de los Santos.


Google