next up previous contents
suivant: Threads monter: Exceptions précédent: try bloc, catch et   Table des matières

Lancer une exception

On peut définir ses propres exceptions (ou utiliser des exceptions déjà existantes). La commande throw permet de lancer une exception. Cette exception peut correspondre à une violation de la précondition.



transparent
throw


public Object pop() throws EmptyStackException{
  Object obj;
  if (size == 0){
    throw new EmptyStackException();
  obj=objectAt(size--);
  return obj;
}


Par contre, il n'est pas recommandé d'utiliser les exceptions dans le cadre d'un déroulement normal, comme dans :



transparent
Mauvais


class Trouve extends Exception{}
class Mauvais {
    int t[]={ 1, 2, 3, 4, 5};
    public void chercher(int v) throws Trouve{
        for(int i=0; i<t.length;i++)
            if (t[i]==v) throw new Trouve();
    }
}


transparent
Mauvais (suite)


  class main{
    public static void main(String[] st){
        Mauvais m=new Mauvais();
        try{
           m.chercher(4);
        } catch (Trouve e){
            System.out.println("trouvé!");
        }
        System.out.println("pas trouvé!")
    }
}





Hugues Fauconnier 2002-01-11