Exeception

Résolu
andoid95 -  
 andoid95 -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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
andoid95
 
merci !! tu m'as sauvé
0