Arret brutal

Résolu
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 - 25 janv. 2005 à 18:32
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 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

Moyen de faire sa ?

4 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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;
}

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
25 janv. 2005 à 22:02
euh, tu pourrais être plus clair svp

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
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.

J'espere que c'est plsu clair

Eric
0
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
26 janv. 2005 à 18:27
Merci, je croit que de cette maniere j'arriverai a faire quelquechose

Eric
0
Rejoignez-nous