oui c'est bien ça l'esprit général et pour compléter par rapport au cadre de la question de départ : les exceptions sont bien de la délégation de responsabilités : c'est justement parce que le programmeur fournisseur ne peut traiter correctement l'erreur qu'il la délègue au programmeur utilisateur.
Mais, comme dit par Louis, il faut alors l'avertir : essentiellement par la documentation (à noter qu'en C++, sauf cas particuliers [hors du cours], toute fonction/méthode est supposée pouvoir potentiellement lancer des exceptions).