Exception specification

Exception specification

A function that may throw an exception can warn its users about that by specifying a list of exceptions it may throw, thus helping its users to catch such exceptions appropriately:

 	int divide (int, int) throw(zerodivide); //may throw an 								//exception of 									//type zerodivide (but 								//no other). 

If your function is exception-safe, i.e., does never throw any exception, it can be declared like this:

 	bool equals (int, int) throw(); //promises not to throw any 						  //exception ever

Mind that a function declared like this:

 	bool equals (int, int); 

on the other hand, says nothing about its exceptions, so it may throw any type of exception or not throw any exception at all.


Share the Post: