Each formatted input function begins execution by constructing
an object of type 
ios_base::iostate, termed the local error state, and
initializing it to 
ios_base::goodbit.It then creates an object of class
sentry
with the
noskipws
(second) argument
false.If the
sentry
object returns
true,
when converted to a value of type
bool,
the function endeavors
to obtain the requested input
.Otherwise,
if the 
sentry constructor exits by throwing an exception or
if the 
sentry object produces 
false
when converted to a value of type 
bool,
the function returns without attempting to obtain any input
.If 
rdbuf()->sbumpc() or 
rdbuf()->sgetc()
returns 
traits::eof(), then
ios_base::eofbit is set in the local error state and
the input function stops trying to obtain the requested input
.If an exception is thrown during input then
ios_base::badbit is set in the local error state,
*this's error state is set to the local error state, and
the exception is rethrown if 
(exceptions() & badbit) != 0.After extraction is done, the input function calls 
setstate, which
sets 
*this's error state to the local error state, and
may throw an exception
.In any case, the formatted input function destroys the
sentry
object
.If no exception has been thrown, it returns
*this.