On error resume next

Signaler
Messages postés
177
Date d'inscription
lundi 11 août 2003
Statut
Membre
Dernière intervention
21 avril 2010
-
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
-
je voudrai savoir komen on fai en c# un On Error Resume Next

merci

8 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
62
Hello,
Si c'est bien de la gestion des exceptions dont on parle, il s'agit de try catch finally. Un petit exemple :
try
{
  //génére une excption, pusique "a" n'est pas un entier
  int a = int.Parse("a");
}
catch(Exception ex)
{
  //Gestion du problème
}
finally
{
  //Code a exécuter de toute façon, qu'il y ait eut  une exception   ou non. Par exemple, fermer la connexion à la base de donnée.
}


Il y a un grand nombre d'Exception possibles, toutes étendant la classe Exception.
Tu peux séparer le traitement des différentes exception, en mettant plusieurs catch les uns à la suites des autres, par exemple, un pour IndexOutOfBoundException, un pour DivideByZeroException et un Exception, pour attraper toutes les autres exceptions.

Amicalement, SharpMao
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
par contre le "On Error Resume Next", je crois pas que ca existe...
mais la debo de sharpmao est correcte :o)))
et en imbriquant des try et des catch tu pourra peut etre faire l'equivalent de ton "On Error Resume Next"

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
151
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
22 février 2007

je te rassure ca existe totalement mais en visual basic
moi ce que je voudrais savoir c'est s'il est possible de ne pas passé par un try et un cash
seulement un variable en début de classe par exemple et en suite qu'elle recense toute seule les erreurs
un truc de ce genre
si vous avez d'autre idées..............
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
a part mettre des try catch finally partout....

moi je vois pas....

en vb le resume next peux etre bien pratique...dommage que ca n'a pas ete implemente....

mais le mieux c'est de faire des progs qui catch pas :o))))

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
151
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
22 février 2007

tiens je te donne un exemple

private bool ConnectionBaseDonnee()
{
string sConnection;
string temp="[MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on";
try
{
//connect to MySQL server using MySQL ODBC 3.51 Driver
m_conn = new SqlConnection();
sConnection = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" + m_sServer + "; DATABASE=" + m_sData + "; UID=" + m_sUID + "; PASSWORD=; OPTION=35";

m_conn.ConnectionString = sConnection;
m_conn.Open();
}
catch(FormatException ex)
{
if (Console.WriteLine(temp.Substring(ex.Message.IndexOf(temp), temp.Length)))
{
return (false);
}
else
{
temp="[MySQL][ODBC 3.51 Driver]Access denied for user:";
if (Console.WriteLine(temp.Substring(ex.Message.IndexOf(temp), temp.Length)))
{
return (false);
}
else
{
return (true);
}
}
}
}

si je met le catch comme ca si la connection est ok il passera pas dans le catch car il n'y a pas d'erreur et donc retournera pas true
sinon je peux mettre le true en apres le catch

dit moi peut tu me dire c koi la commande de connection a une base de donnée SQL SERVEUR 2000 car je veux utiliser ce bout de code pour un connection aussi sur SQL SERVEUR pour un site WEb intranet et extranet
je ne c pas trop car je débute totalement en tout ce qui est WEB
lol
merci
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
pour ce qui est de ta connection regarde mes sources depose sur ce site y a des exemples....

sinon pour ton code je ferais plutot ca :

private void ConnectionBaseDonnee()
{
string sConnection;
string temp="[MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on";
try
{
//connect to MySQL server using MySQL ODBC 3.51 Driver
m_conn = new SqlConnection();
sConnection = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" + m_sServer + "; DATABASE=" + m_sData + "; UID=" + m_sUID + "; PASSWORD=; OPTION=35";

m_conn.ConnectionString = sConnection;
m_conn.Open();
}
catch(FormatException xcp)
{
//si dispo je testerai le numero de l'erreur plutot que le contenu du message....mais ce numero est pas toujours dispo(ca depend du type d'exeption
throw new FormatException(xcp.Message);
}

catch(Exception ex)
{
//si dispo je testerai le numero de l'erreur plutot que le contenu du message....mais ce numero est pas toujours dispo(ca depend du type d'exeption
throw new Exception(ex.Message);
}
}

//et dans la metode appelante

try
{
ConnectionBaseDonnee();
}
catch(Exception xcp)
{
//Connection echouee pour raison x ou y...
MessageBox.show(xcp.Message);
}

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
151
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
22 février 2007

j'ai trouvé tes sources
pas mal du tout je me susi tablé sur ca pour faire ma connexion
mais j'ai juste un problème
je n'arrive pas a me connecté a mon serveur ca viens pas du programme mais de mon coté il faut que je trouve une solution
lol
je n'arrive pas a me connecté a mon serveur sql d'un autre poste
peux tu m'aider?
j'ai mis dans sécurité les invité, les TsInternetUser et administrateur du serveur ca donne SERVEUR/invité etc
est que c bien ca non? car j'ai regardé les ecplication que tu donné dans ta source mais je n'y arrive pas tu as une astuce?
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
c surement un pb de droit...

mais c galere....fo faire des tests creer les users avec les bons droits sur tes machines etc...

desole j'ai pas de solution miracle pour ca :o)))
en gros il faut que l'user de ta machine est des droits sur ton serveur sql....
et en theorie ca devrait le faire...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."