C++ standard exceptions

  • logic_error(It reports errors that are a consequence of faulty logic within the program such as violating logical preconditions or class invariants and may be preventable.)
    • invalid_argument
    • domain_error
    • length_error
    • out_of_range
    • future_error(C++11)
  • bad_optional_access(C++17)
  • runtime_error(It reports errors that are due to events beyond the scope of the program and can not be easily predicted.)
    • range_error
    • overflow_error
    • underflow_error
    • regex_error(C++11)
    • nonexistent_local_time(C++20)
    • ambiguous_local_time(C++20)
    • tx_exception(TM TS)
    • system_error(C++11)
    • ios_base::failure(C++11)
    • filesystem::filesystem_error(C++17)
  • bad_typeid
  • bad_cast
    • bad_any_cast(C++17)
  • bad_weak_ptr(C++11)
  • bad_function_call(C++11)
  • bad_alloc(report failure to allocate storage)
    • bad_array_new_length(C++11)
  • bad_exception
  • ios_base::failure(until C++11)
  • bad_variant_access(C++17)

For more details, refer to cppreference