C 中的標準異常

2021-08-20 15:08:49 字數 1178 閱讀 3810

標準異常都在標頭檔案中。

異常描述

std::exception該異常是所有標準 c++ 異常的父類。

std::bad_alloc

該異常可以通過new丟擲。

std::bad_cast

該異常可以通過dynamic_cast丟擲。

std::bad_exception

這在處理 c++ 程式中無法預期的異常時非常有用。

std::bad_typeid

該異常可以通過typeid丟擲。

std::logic_error理論上可以通過讀取**來檢測到的異常。

std::domain_error

當使用了乙個無效的數學域時,會丟擲該異常。

std::invalid_argument

當使用了無效的引數時,會丟擲該異常。

std::length_error

當建立了太長的 std::string 時,會丟擲該異常。

std::out_of_range

該異常可以通過方法丟擲,例如 std::vector 和 std::bitset<>::operator()。

std::runtime_error理論上不可以通過讀取**來檢測到的異常。

std::overflow_error

當發生數學上溢時,會丟擲該異常。

std::range_error

當嘗試儲存超出範圍的值時,會丟擲該異常。

std::underflow_error

當發生數學下溢時,會丟擲該異常。

也可以自定義異常型別,如下**:

#include #include using namespace std;

struct myexception : public exception};

int main()

catch(myexception& e)

catch(std::exception& e)

}

C 中的標準異常

標準異常都在標頭檔案中。異常描述 std exception該異常是所有標準 c 異常的父類。std bad alloc 該異常可以通過new丟擲。std bad cast 該異常可以通過dynamic cast丟擲。std bad exception 這在處理 c 程式中無法預期的異常時非常有用。...

C 中的標準異常類

c 中的標準異常類 namespace std exception派生 class logic error 邏輯錯誤,在程式執行前可以檢測出來 logic error派生 class domain error 違反了前置條件 class invalid argument 指出函式的乙個無效引數 cl...

c 丟擲標準異常

可以在自己的程式中丟擲某些標準異常。丟擲標準異常時,只需生成乙個描述該異常的字串,交給異常物件,它將成為what 返回的描述字串。std strings throw std out of range s throw std out of range out of range somewhere,so...