domingo, 22 de febrero de 2015

Excepcion Factorial Visual C++



#include <iostream>
#include <cstdlib>
#include <string>

using namespace std;

int factorial( int n )
{
 if( n < 0 )
 {
  //lanza una excepcion
  throw string("Argumento no debe de ser negativo");
 }

 int cont = 1;

 while( n > 0 )
 {
  cont *= n;
  n--;
 }

 return cont;
}

int main( int argc , char argv[] )
{
 try
 {
  cout << "Factorial de 3 es : " << factorial( 3 ) << endl;

  //aqui genera una excepcion
  cout << "Factorial de -1 es : " << factorial( -1 ) << endl;

  //ya no lo hizo
  cout << "Factorial de 5 es : " << factorial( 5 ) << endl;
 } //una vez verificado por el try cacha algun error si lo hay

 catch( string error )
 {
  cout << "Error ocurrido: " << error << endl;
 }

 catch( ... ) //se usa para definir los default
 {
  cout << "Default catch..." << endl;
 }

 system("pause");
 return 0;
}


No hay comentarios:

Publicar un comentario