Best way to report errors in class objects
I've been learning C++ the past couple of months, and I've found myself writing C in C++, as I come from years of writing C.
I am writing a class that uses a lot of windows API stuff, and it's divided into several functions, some of them private for internal use and some public for the user.
I have a dilemma, however. I'm not sure what would be the best way to report errors from inside my class. As you can imagine, there are a lot of different errors that can be reported, for a lot of the functions that get called inside my class's functions.
For some reason, I find that simply returning error values would be bad design, and I'd have to have a ........load of custom error values because in a lot of cases, several different APIs can return the same general error, which isn't good for debugging.
What would be the best way to report errors? Should I be using exceptions? I have never really used them in C++(I know how to use them from C# though).
I would really appreciate some advice from the resident C++ gurus.