void fonction_bidon (gpointer data) { g_exception_try (GNOME_TYPE_FOO_EXCEPTION, fonction_bidon_catch_exception_foo, NULL, fonction_bidon_finally); fonction_qui_throw (data); g_exception_flush (); } void fonction_qui_throw (gpointer data) { if (data == NULL) { g_exception_throw (gnome_foo_exception_new (GNOME_TYPE_FOO_EXCEPTION_ERROR, "Pas bien !")); } g_debug ("lol"); } void fonction_bidon_catch_foo_exception (GException e, gpointer data) { g_debug ("zut"); } void fonction_bidon_finally (gpointer data) { g_debug ("kikoo"); }