MST

星途 面试题库

面试题:C++ 异常处理中的常见用法

请描述在C++中使用try - catch块进行异常处理的基本语法结构,并举例说明如何捕获特定类型的异常,比如std::runtime_error。
49.8万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

在C++中,try - catch块用于异常处理,其基本语法结构如下:

try {
    // 可能抛出异常的代码块
} catch (异常类型1 [异常变量名1]) {
    // 处理异常类型1的代码块
} catch (异常类型2 [异常变量名2]) {
    // 处理异常类型2的代码块
}
// 可以有多个catch块,按照异常类型匹配捕获

以下是一个捕获std::runtime_error类型异常的示例:

#include <iostream>
#include <stdexcept>

int main() {
    try {
        // 模拟一个可能抛出std::runtime_error异常的操作
        throw std::runtime_error("这是一个运行时错误");
    } catch (const std::runtime_error& e) {
        std::cerr << "捕获到运行时错误: " << e.what() << std::endl;
    }
    return 0;
}

在上述示例中,try块内抛出了一个std::runtime_error类型的异常,catch块捕获了该异常,并通过e.what()输出异常信息。