На этом шаге мы перечислим классы исключений, генерируемые стандартной библиотекой.
Стандартная библиотека C++ тоже генерирует исключения классов range_еrror, out_of_range и invalid_argument, а так как библиотека использует языковые средства и пользовательский код, эти исключения могут генерироваться еще и косвенно. В частности, любая операция выделеиия памяти может привести к исключеиию bad_alloc.
Реализации стандартной библиотеки могут содержать дополнительные классы исключений (определяемые на одном уровне со стандартными классами или как производные от них). Однако использование нестандартных классов нарушает переносимость кода, так как замена реализации стандартной библиотеки нарушает работу программы. По этой причине задействовать нестандартные классы исключений нежелательно.
На следующем шаге мы рассмотрим заголовочные файлы классов исключений.