c++

switch函数c++如何处理异常情况

小樊
81
2024-12-07 03:59:28
栏目: 编程语言

在C++中,switch语句本身并不直接处理异常情况。但是,你可以在switch语句的各个case块中处理异常。当你在case块中遇到异常时,可以使用try-catch语句来捕获和处理异常。

下面是一个简单的示例,展示了如何在switch语句中处理异常:

#include <iostream>
#include <stdexcept>

int main() {
    int choice;
    std::cout << "Enter a number (1-3): ";
    std::cin >> choice;

    try {
        switch (choice) {
            case 1:
                std::cout << "You chose option 1." << std::endl;
                // 在这里处理选项1的逻辑
                break;
            case 2:
                std::cout << "You chose option 2." << std::endl;
                // 在这里处理选项2的逻辑
                throw std::runtime_error("An error occurred in case 2.");
            case 3:
                std::cout << "You chose option 3." << std::endl;
                // 在这里处理选项3的逻辑
                break;
            default:
                std::cout << "Invalid choice." << std::endl;
                break;
        }
    } catch (const std::runtime_error& e) {
        std::cerr << "Exception caught: " << e.what() << std::endl;
    } catch (...) {
        std::cerr << "Unknown exception caught." << std::endl;
    }

    return 0;
}

在这个示例中,当用户选择选项2时,程序会抛出一个std::runtime_error异常。switch语句将跳转到catch块,捕获并处理该异常。这样,你可以确保程序在遇到异常时能够优雅地处理它们,而不是崩溃。

0
看了该问题的人还看了