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

溫馨提示×

C++ bool函數的錯誤處理方法

c++
小樊
87
2024-09-04 20:20:14
欄目: 編程語言

在C++中,bool函數通常用于返回一個操作是否成功的布爾值

  1. 使用異常處理:
#include<iostream>
#include <stdexcept>

bool divide(int a, int b, int &result) {
    if (b == 0) {
        throw std::runtime_error("Division by zero");
    }
    result = a / b;
    return true;
}

int main() {
    try {
        int result;
        divide(10, 0, result);
        std::cout << "Result: "<< result<< std::endl;
    } catch (const std::runtime_error &e) {
        std::cerr << "Error: " << e.what()<< std::endl;
    }
    return 0;
}
  1. 使用錯誤碼:
#include<iostream>

enum ErrorCode {
    SUCCESS,
    DIVISION_BY_ZERO
};

ErrorCode divide(int a, int b, int &result) {
    if (b == 0) {
        return DIVISION_BY_ZERO;
    }
    result = a / b;
    return SUCCESS;
}

int main() {
    int result;
    ErrorCode error = divide(10, 0, result);
    if (error == SUCCESS) {
        std::cout << "Result: "<< result<< std::endl;
    } else if (error == DIVISION_BY_ZERO) {
        std::cerr << "Error: Division by zero"<< std::endl;
    }
    return 0;
}
  1. 使用std::optional或std::pair:
#include<iostream>
#include<optional>

std::optional<int> divide(int a, int b) {
    if (b == 0) {
        return std::nullopt;
    }
    return a / b;
}

int main() {
    auto result = divide(10, 0);
    if (result) {
        std::cout << "Result: " << *result<< std::endl;
    } else {
        std::cerr << "Error: Division by zero"<< std::endl;
    }
    return 0;
}

這些方法都可以有效地處理bool函數中的錯誤。選擇哪種方法取決于你的需求和編程風格。

0
信宜市| 渭源县| 民勤县| 五大连池市| 敦煌市| 湟源县| 新野县| 肥东县| 迭部县| 垦利县| 葫芦岛市| 哈尔滨市| 内丘县| 福安市| 贵南县| 克东县| 弥勒县| 高邑县| 双辽市| 福建省| 岳西县| 呼和浩特市| 南木林县| 玉林市| 日喀则市| 上虞市| 磴口县| 上栗县| 新巴尔虎右旗| 吉安县| 龙泉市| 安平县| 邯郸市| 日土县| 长宁县| 东至县| 宁蒗| 汉阴县| 绍兴县| 德州市| 抚宁县|