Excepciones
Completion requirements
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:
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.
![](https://aulavirtual.fio.unam.edu.ar/pluginfile.php/332403/mod_book/chapter/6586/imagen%20%282%29.png)