non mi ricordo piu una cosa

se io ho
codice:
try {
   //roba
}
catch {
   //altra roba
   throw qualcosa;
}
finally {
   //ancora altra roba
}
quando lancio l'eccezione nel blocco catch, inizio a risalire lo stack delle chiamate e il finally viene ignorato o viene comunque eseguito?