I thought I'd try writing a class that handles some (random access) file operations for me. Since there are tons of errors that might happen with files, I also thought I'd try to use C++ exception handling to go with the class.

I read a tutorial on exceptions but the whole thing remained somewhat unclear (well, I'll need to reread it or look for some other tutorial...)

The main question is: should this class even have exception handling, or may-be it should be up to the user of the class to do that?

If it should, would this class include another header with the exception class?

Also, how would you handle possible failure of the constructor (to open the file in question)? Or should I even worry about that as a designer of the class (with std::fstream it's up to the user to check if constructor was successful)?