Excepciones

5. Excepciones

5.4. División por cero



En este caso, la línea 15 verifica que b=0, si esto es cierto, el if "tira" (trhow) un -1.

Esto es atrapado por catch, que toma como argumento el -1, por lo que x=-1, y lo muestra junto con el mensaje "No se puede..." por pantalla. Vamos como sería la salida:

Veamos otro ejemplo, en este una función es la va a intentar realizar el cociente, y si no puede por que el denominador es cero, lanzará una excepción.

Observemos que en este caso, el throw, NO se encuentra ubicado directamente en el bloque del try, pero sí indirectamente, ya que el bloque try, invoca a la función "división"  y esta si tiene el throw.

Podemos ver que en la línea 6: El string que sigue a throw es el argumento que se pasa a catch, este es coincidente con el argumento que recibe catch en la línea 20. Se muestra en pantalla el argumento que recibe, renombrado como variable local msj. Se muestra que cout y cerr, ambos flujos son redireccionados para la pantalla.