Ответ 1
Не будет на 100% точным и для С++ 03, но полчаса усилий, основанных на grepping через GCC 4.3.4, включает в себя, игнорируя tr1 и ext, но включая iostream. Реально, некоторые из этих проверок могут быть связаны с этой реализацией, предпочитающей более защитное кодирование, и, возможно, не могут быть предусмотрены в стандарте и доступны повсеместно....
-
bitset
-
std::overflow_error
-.to_ulong()
, когда слишком много бит вставляется без знака long -
std::out_of_range
-operator[]()
попытка прошлого конца
-
-
new
-
std::bad_alloc
-
-
typeinfo
-
std::bad_cast
при недействительной попыткеdynamic_cast
-
-
ios
-
std::ios_base::failure
при использовании масок исключений для сообщений об ошибках
-
-
string
-
out_of_range
-at
/append
/assign
/insert
/erase
/replace
/copy
/substr
-
length_error
: попытка превыситьmax_size()
во времяreserve
или неявное изменение размера (например,assign
/insert
/+=
и т.д.)
-
-
locale
-
std::bad_cast
, если locale не содержит грань типаFacet
-
std::runtime_error
в различных ситуациях с нулевым указателем / undefined -facet
-
-
deque
/vector
-
length_error
: попыткаreserve()
или неявно-расти >max_size()
-
out_of_range
:at()
-
-
map
-
std::out_of_range
:at()
-