class MonException extends Exception { MonException() { System.out.println("me voila"); } } class Propagation { static boolean probleme = true; static void methodeBasse() throws MonException { try { if (true) throw new MonException(); System.out.println("et moi ?"); } finally { System.out.println("hauteur basse : il faudrait etre ici"); } System.out.println("pas mieux"); } static void methodeMoyenne() throws MonException { try { methodeBasse(); System.out.println("et ici ?"); } finally { System.out.println("moyenne hauteur : ou bien etre la"); } } static void methodeHaute() { try { methodeMoyenne(); } catch(MonException e) { System.out.println("attrape..."); } } static public void main(String[] arg) { methodeHaute(); } } /* A la sortie : me voila hauteur basse : il faudrait etre ici moyenne hauteur : ou bien etre la attrape... */