例如std::runtime_error,std::invalid_argument在大型项目中抛出不同的异常是否有用?或者更好的方法是std::exception提供一个好的文本参数what()?什么时候可以从中派生出一些子类std::exception?
入魔
使用throw最具体的异常总是有意义的.因为每个异常应该从std::exception代码中获取,所以可以决定它想要处理它的粒度级别(通过引用捕获!来自S.Meyers的"更有效的C++"中的第13项).
仅std::exception使用一些文本禁止使用:
what()如果需要,覆盖可为任何异常提供足够的文本.