MEC++: Specifica di eccezione

Appunti tratti dalla rilettura di More Effective C++ di Scott Meyers. Terzo blocco: Eccezioni.

(14) La specifica di eccezione va usata con cautela

Il problema é che se una funzione genera una eccezione che non é specificata nella sua dichiarazione, a runtime viene invocata la funzione unexpected() che di default chiama terminate() che a sua volta di default chiama abort().

Ed é facile correre il rischio che una nostra funzione generi una eccezione che non ci aspettiamo.

Il fatto é che questa funzione:

extern void f1();

può generare qualunque eccezione - per compatibilità con il codice esistente. Diventa quindi molto difficile accertarci di quali eccezioni possano essere generate da una funzione non banale.

Nessun commento:

Posta un commento