STL Exception exception bad_cast runtime_error logic_error bad_alloc overflow_error underflow_error range_error domain_error invalid_argument out_of_range length_error