91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++異常處理機制的捕獲方式

c++
小樊
81
2024-11-08 22:43:26
欄目: 編程語言

C++異常處理機制提供了兩種主要的捕獲方式:catch塊和try-catch語句。以下是這兩種方式的簡要說明和示例:

  1. catch塊:catch塊用于捕獲和處理特定類型的異常。它緊跟在try塊之后,并指定要捕獲的異常類型。當try塊中的代碼拋出異常時,程序會立即跳轉到與該異常類型匹配的catch塊。

示例:

#include <iostream>
#include <stdexcept>

int main() {
    try {
        int denominator = 0;
        if (denominator == 0) {
            throw std::runtime_error("Division by zero");
        }
        int result = 10 / denominator;
        std::cout << "Result: " << result << std::endl;
    } catch (const std::runtime_error& e) {
        std::cerr << "Error: " << e.what() << std::endl;
    }
    return 0;
}
  1. try-catch語句:try-catch語句是一種更靈活的方式來捕獲和處理異常。它允許你在try塊中捕獲多種類型的異常,并在不同的catch塊中處理它們。此外,你還可以在一個catch塊中捕獲多種類型的異常,只需將它們放在一起即可。

示例:

#include <iostream>
#include <stdexcept>

int main() {
    try {
        int denominator = 0;
        if (denominator == 0) {
            throw std::runtime_error("Division by zero");
        }
        int result = 10 / denominator;
        std::cout << "Result: " << result << std::endl;
    } catch (const std::runtime_error& e) {
        std::cerr << "Error: " << e.what() << std::endl;
    } catch (const std::exception& e) {
        std::cerr << "Unexpected error: " << e.what() << std::endl;
    } catch (...) {
        std::cerr << "Unknown error occurred" << std::endl;
    }
    return 0;
}

在這個示例中,我們捕獲了std::runtime_error類型的異常,并處理了它。我們還捕獲了所有其他類型的std::exception異常和一個通用的...異常,以便處理未知的異常情況。

0
两当县| 军事| 清涧县| 大关县| 昭平县| 陇川县| 武鸣县| 桐乡市| 金阳县| 五大连池市| 车致| 灵山县| 科技| 开封市| 博客| 通辽市| 昌邑市| 故城县| 鹤峰县| 昆明市| 贡嘎县| 卓尼县| 商洛市| 长白| 霍林郭勒市| 海阳市| 桦甸市| 泰和县| 静海县| 拉萨市| 淄博市| 祁门县| 吴忠市| 南召县| 杭锦旗| 贵阳市| 全南县| 拉孜县| 福州市| 新津县| 贵南县|