Exeception

Résolu/Fermé
andoid95 - 16 juin 2013 à 11:41
 andoid95 - 16 juin 2013 à 11:50
Bonjour
J'ai une hashmap <Integer, Car >,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)) //Je teste si une clé égale à numPlace existe
{
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.

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
16 juin 2013 à 11:46
Le try/catch c'est pour récupérer l'exception, si tu veux en lever une il te faut un throw

public void Park(int numPlace, Car C) 
{
    if (Garage.containsKey(numPlace))
        throw new IllegalStateException("Place déjà occupée");
    else
        Garage.put(numPlace, C);
}
0
merci !! tu m'as sauvé
0