Отличие классов exception и runtime_error в C++ заключается в их назначении:
- std::exception — базовый класс всех исключений стандартной библиотеки. tproger.ru www.demo2s.com Используется как базовый класс для пользовательских иерархий исключений, а также для перехвата всех исключений, когда конкретный тип не известен. www.demo2s.com
- std::runtime_error — более специализированный класс, наследуемый от std::exception. stackoverflow.com Предназначен для выброса в случае различных ошибок во время выполнения. stackoverflow.com Например, ошибок ввода-вывода файлов, сетевых ошибок или других проблем, которые могут возникнуть только во время выполнения. www.demo2s.com
Таким образом, std::exception используется для общей базы исключений, а std::runtime_error — для конкретных ошибок во время выполнения, когда первопричина может быть не вполне очевидна. tproger.ru www.demo2s.com