Quote Originally Posted by Red Squirrel
Hmm so there's no way to actually spit out exact info like in C#?
Maybe there is: it depends on what you mean by "exact info", and what exactly is available for you to obtain from the exception. My comment about non-std::exception-based exceptions applies in the rather extreme case where you have no clue what else could be thrown, hence the use of the catch-all. Typically, exceptions are derived (perhaps indirectly) from std::exception, or at least from some other exception base class, thus you can access the what() member function or its equivalent.

Quote Originally Posted by Red Squirrel
What if a function can return 100 different types of exceptions, it just seems crazy that I'd have to handle each one individually.
How did you do handle such a situation in C#? If you really have to handle each one individually, you just have to do it, whether in C++ or C#, but as Lindley pointed out, you probably don't.