Ah, non necessariamente l'eccezione deve essere "bloccante" per il sistema.
Io ad esempio le uso per gestire in maniera trasparente i deadlock nelle transazioni annidate, sfruttando appunto il fatto che il throw si propaghi "in verticale" lungo le varie chiamate, per essere intercettato dall'apposito catch.
Fare la stessa cosa senza eccezioni è decisamente più complesso.