When doing stream I/O, some unpredictable situations can occur at
runtime. Binary streams are no exception to this phenomenon. To
provide some sort of protection against this, all libbinio classes
inherit an error reporting method called error()
.
It is a good idea to check the error status of a stream once in a
while to see if everything is still in place. error()
returns a
variable of type Error
, which holds the actual error value for
you to check. Refer to Reference for information about the
possible values of this variable and their meaning.
A status of no error is always reported with a value of 0
, so
you can easily check if everything is still okay in a simple if
construct, like this:
if(mystream.error()) // an error occured, do something to cure it... else // everything is still okay!
One convenience error reporting method is also included, that only
checks for the Eof
error status, indicating whether the end of
the stream has already been reached. It is simply called eof()
and returns a boolean value, indicating the end of the stream.
Whenever you call one of the error()
or eof()
methods,
the internal error variable is reset to the "no error" state and a
subsequent call to one of these methods will return NoError
again.