c++異常處理的方法有哪些

c++
小億
119
2023-10-10 15:01:42
欄目: 編程語言

在C++中,有以下幾種異常處理的方法:

1. try-catch語句塊:使用try-catch語句塊可以捕獲和處理異常。在try塊中編寫可能會(huì)引發(fā)異常的代碼,然后在catch塊中捕獲并處理這些異常。可以使用多個(gè)catch塊來處理不同類型的異常。

try {

    // 可能會(huì)引發(fā)異常的代碼

}

catch (ExceptionType1& e) {

    // 處理 ExceptionType1 類型的異常

}

catch (ExceptionType2& e) {

    // 處理 ExceptionType2 類型的異常

}

// ...

2. throw語句:可以使用throw語句在代碼中主動(dòng)拋出異常。語法如下:

throw MyException("Something went wrong");

3. 異常類:可以自定義異常類來表示特定的異常情況。通過繼承標(biāo)準(zhǔn)異常類std::exception或其他相關(guān)的異常類,可以創(chuàng)建自己的異常類,并提供自定義的異常信息。

class MyException : public std::exception {

public:

    MyException(const char* message) : msg(message) {}

    const char* what() const noexcept override {

        return msg.c_str();

    }

private:

    std::string msg;

};

4. 標(biāo)準(zhǔn)異常類:C++標(biāo)準(zhǔn)庫提供了一些內(nèi)置的異常類,可以用于處理常見的異常情況,例如std::runtime_error、std::logic_error等。這些異常類可以在需要時(shí)被拋出和捕獲。

try {

    if (input < 0) {

        throw std::runtime_error("Invalid input");

    }

} catch (const std::exception& e) {

    // 處理異常

}

以上是C++中常見的異常處理方法。使用這些方法可以捕獲和處理異常,從而提供更好的錯(cuò)誤處理和容錯(cuò)機(jī)制。在實(shí)際應(yīng)用中,根據(jù)具體的需求和情況選擇適合的異常處理方式。

0