Testing for Extraction Errors
Output error processing functions, discussed in Error Processing Functions, apply to input streams. Testing for errors during extraction is important. Consider this statement:
cin >> n;
If n is a signed integer, a value greater than 32,767 (the maximum allowed value, or MAX_INT) sets the stream's fail bit, and the cin object becomes unusable. All subsequent extractions result in an immediate return with no value stored.