Voila, dans ma source (Résolutrice) je lis une equation au clavier, et lorsque celle-ci est lue, je la calcul. Comme elle sert pour les calculs "complexe", il y a plus d'une opération a calculer.
Bref, je lance RésousEquation( string eq ) qui lancera plusieurs fonctions, voir se relancera lui meme dans certaines circonstances.
Parcontre, ce qui m'interesse, c'est de lancer "ResousEquation( string eq )" et peu importe ou il est rendu, la focntion auquel il est, si sa ne fonctionne pas, tout les calculs s'arrete. Un peu comem un crash, mais sans les effets secondaires, soit l'Arret du programme
dans l'exemple :
private static void main()
{
int i = A();
try
{
int y = D(i);
// SI JAI PAS EU D'ERREUR
Console.WriteLine("i: " + i + "\ny: " + y);
catch ( DivideByZeroException )
{
// SINON
Console.WriteLine( "Division par 0" );
}
catch
{
// gestion des autres erreurs
Console.WriteLine( "Erreur inconnue");
}
}
private static int C( int a )
{
if( a == 0 )
{
// C'est ici que je veux tout arreter, car division par zero par exemple
throw new DivideByZeroException();
}
else
return 18/a;
}
====================
private static void main()
{
int i = A();
int y = D(i);
// SI JAI PAS EU D'ERREUR
Console.WriteLine("i: " + i + "\ny: " + y);
// SINON
Console.WriteLine( "Division par 0" );
}
private static int A()
{
return 5;
}
private static int D( int a )
{
if( a < 5 )
B( a );
C( a );
}
private static int B( int a )
{
return a+C(a);
}
private static int C( int a )
{
if( a == 0 )
{
// C'est ici que je veux tout arreter, car division par zero par exemple
}
else
return 18/a;
}
====================
Voila un exemple bidon qui illuste ce que je veut faire, soit peu importe de ou jai appeler le C.