Alert dans une methode

theflayer Messages postés 125 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 21 juin 2015 - 18 août 2010 à 16:24
theflayer Messages postés 125 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 21 juin 2015 - 19 août 2010 à 14:02
Salut !

J'avais dit que je reviendrais avec ma methode
Voila problème surement tous bête :
J'ai ma méthode qui convertit mes TextBox, ce que je voudrais c'est que cela me renvoie des erreurs dans certain cas :

public void Calculreseau (string ip_addr, byte m, out byte ip, out byte ar, out string maskpattern, out byte mr, out byte broad)
{
ip = Convert.ToByte(ip_addr);
ar = (byte)(ip & m);
maskpattern = Convert.ToString(m, 2);
mr = Convert.ToByte(new string(Convert.ToString(m, 2).PadLeft(8, '0').Reverse().ToArray()), 2);
broad = (byte)(ip | ~mr);
}
les cas ou je veux l'erreur :
if ( ip < 0 && ip > 255) { MessageBox.Show("Entrée une valeur comprise entre 0 et 255")}
Mais si je met ça dans la méthode après ip , ip marche plus pour le reste . Je me suis dit peut être avec try et catch mais je pense que le problème serait le même. J'aimerais aussi que si la valeur de ip = ""; ça me renvoie la même erreur si possible.

Merci du coup de main.


Linux c'est une question de VI ou de MORE !
Si Bill Gates donnait du lait à ses programmeurs, ça ferait peut-être des OS costaud.

2 réponses

Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010
19 août 2010 à 11:22
throw new Exception ("Entrée une valeur comprise entre 0 et 255");


après tu gère l'exception avec un try/catch dans la méthode appelante...
ou alors j'ai pas compris ce que tu souhaitais faire...


Nul ne devient grand par la guerre...
0
theflayer Messages postés 125 Date d'inscription dimanche 28 février 2010 Statut Membre Dernière intervention 21 juin 2015 2
19 août 2010 à 14:02
Salut Miltiades, en faite dans ma méthode , ip_addr correspond a un TextBox, j'aimerais avoir une Alert du type MessageBox , si la valeur entrée dans ce TextBox est >255, < 0 ou nul que ça me return le MessageBox, mais le soucis c'est que quand je fais un try catch ou un if la variable mise dans la condition n'est pas gérer après. Par ex , si je dit if( ip < 0 && ip > 255) ben cette condition marche mais ip n'ai plus gérer pour le reste de ma méthode.

Par ex si je fais ça :

public void Calculreseau (string ip_addr, byte m, out byte ip, out byte ar, out string maskpattern, out byte mr, out byte broad)
{
ip = Convert.ToByte(ip_addr);
if (ip < 0 && ip > 255) { MessageBox.Show("Entrée une Valeur Comprise entre 0 et 255"); }
ar = (byte)(ip & m);
maskpattern = Convert.ToString(m, 2);
mr = Convert.ToByte(new string(Convert.ToString(m, 2).PadLeft(8, '0').Reverse().ToArray()), 2);
broad = (byte)(ip | ~mr);
}
Ça me renverra l'exception du byte avant l'alert : La valeur était trop grande ou trop petite pour un octet non signé. sur "ip = Convert.ToByte(ip_addr);"

mais si je fais ça :

public void Calculreseau (string ip_addr, byte m, out byte ip, out byte ar, out string maskpattern, out byte mr, out byte broad)
{
if (ip < 0 && ip > 255) { MessageBox.Show("Entrée une Valeur Comprise entre 0 et 255"); }
ip = Convert.ToByte(ip_addr);
ar = (byte)(ip & m);
maskpattern = Convert.ToString(m, 2);
mr = Convert.ToByte(new string(Convert.ToString(m, 2).PadLeft(8, '0').Reverse().ToArray()), 2);
broad = (byte)(ip | ~mr);
}

Ça me renverra l'execption Utilisation d'un paramètre out non assigné 'ip'
Donc si je peux pas faire de condition comment je fais moi .

Linux c'est une question de VI ou de MORE !
Si Bill Gates donnait du lait à ses programmeurs, ça ferait peut-être des OS costaud.
0
Rejoignez-nous