Multiple Catchers II First catch type that matches is used So with inheritance Derived classes must come first Otherwise the base will match Inherited exceptions can be useful class IOError { }; class NoFileError : public IOError { }; try { } catch (IOError e) { }