標準異常都在標頭檔案中。
異常描述
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...