ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 2009
-
25 janv. 2005 à 18:32
ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 2009
-
26 janv. 2005 à 18:27
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
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 26 janv. 2005 à 17:28
Ah, la gestion d'exceptions ?
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;
}
ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 20095 26 janv. 2005 à 16:52
====================
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.