Un ejemplo sencillo de manejo de excepciones. Verificación de una excepción de división entre cero.

Un ejemplo sencillo de manejo de excepciones. Verificación de una excepción de división entre cero.

¿Has encontrado un error? ¿Tienes la solución? Deja tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por estudiante con únicamente conocimiento básico del lenguaje, no de programación.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
 
using std::cout;
using std::cin;
using std::endl; 
// Clase ExcepcionDeDivisionEntreCero a utilizarse en el manejo de
// excepciones para lanzar una excepción sobre una división entre cero.
class ExcepcionDeDivisionEntreCero {
public:   ExcepcionDeDivisionEntreCero()
      : mensaje( "se intento un division entre cero" ) { }
   const char *what() const { return mensaje; }
private:
   const char *mensaje;}; // fin de la clase ExcepcionDeDivisionEntreCero
 
// Definición de la función cociente. Muestra el lanzamiento
// de una excepción cuando se encuentra una división entre cero.
double cociente( int numerador, int denominador ){
   if ( denominador == 0 )
      throw ExcepcionDeDivisionEntreCero();
 
   return static_cast< double > ( numerador ) / denominador;} // fin de la función cociente
 
// Programa controlador
int main()
{   int numero1, numero2;
   double resultado;
 
   cout << "Introduzca dos enteros (fin de archivo para terminar): ";
    while ( cin >> numero1 >> numero2 ) {
 
      // el bloque try block envuelve el código que podría lanzar una
      // excepción y el código que no debe ejecutarse 
      // si ocurre una excepción      try {
         resultado = cociente( numero1, numero2 );
         cout << "El cociente es: " << resultado << endl;
      } // fin de try
      catch ( ExcepcionDeDivisionEntreCero ex ) { // manipulador de excepciones         cout << "Ocurrio una excepcion: " << ex.what() << 'n';
      } // fin de catch
 
      cout << "nIntroduzca dos enteros (fin de archivo para terminar): ";
   } // fin de while 
   cout << endl;
   return 0;      // termina de manera normal
} // fin de la función main

Punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C <code lang="c">Código en C</code>
  • Si es lenguaje Pascal <code lang="pascal">Aquí dentro el código de Pascal</code>.

De esta manera el código coloreas el código.

Deja un comentario

Suscribirse a los comentarios.