Levée une exception

Résolu
andoid Messages postés 106 Date d'inscription samedi 31 mars 2012 Statut Membre Dernière intervention 16 juin 2013 - 16 juin 2013 à 11:44
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 17 juin 2013 à 07:50
Bonjour
J'ai une hashmap ,r une méthode Park(int place, Car C) mon probléme est de lever une exception de type IllegalStateException quand la place est occupée.
voici la méthode:

public void Park ( int numPlace, Car C)
{

if (Garage.containsKey(numPlace))
{
try{}
catch(IllegalStateException e) {System.out.println("Place déjà occupée");}
}
else
Garage.put(numPlace, C);

}
quand je met dans le try Garage.put(numPlace, C); il écrase l'ancienne valeur et je veux pas qu'il le fasse c'est pourquoi j'ai rien mis à l'intérieur.

3 réponses

andoid Messages postés 106 Date d'inscription samedi 31 mars 2012 Statut Membre Dernière intervention 16 juin 2013
16 juin 2013 à 15:54
merci j'ai réussi à résoudre mon pb
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
17 juin 2013 à 07:50
Salut,

Ce code n'a aucun sens :

try{} 
catch(IllegalStateException e) {System.out.println("Place déjà occupée");} 


Rien n'est exécuté donc cette exception ne sera pas levée, je pense que tu voulais utiliser un throw IllegalStateException ("Place déjà occupée");
3
cs_Palex Messages postés 31 Date d'inscription mardi 5 novembre 2002 Statut Membre Dernière intervention 16 juin 2013
16 juin 2013 à 15:49
Salut

Moi j aurais plutot mis un le if(garage.contains..){
throw new PlaceOccupeException();
}else{
Garage.put(...)
}

Il faut que tu propage lexception a la methode appelante et que tu ajoutes le mot cle synchonized sur ta methode ou ta hashmap au cas ou 2 threads accederais a ta map en meme temps, car si 2 threads arrive dans ta methode en meme temps le garage.contains va repondre ok c libre et le garage.put qui arrivera en premier sera ecrase par le second et tu perdras une info.
Bon courage
PAM
0
Rejoignez-nous