C++语言异常处理学习应用案例

简介: C++异常处理保证程序在运行时遇到错误(如除数为0)时不崩溃。以下是一个示例:程序接收用户输入的两个整数并进行除法运算。若除数为0,则抛出`std::runtime_error`异常。`try-catch`结构用来捕获并处理异常,当出现异常时,输出错误信息,使程序能继续执行。

在C++中,异常处理是一种用于处理程序运行过程中可能出现的错误或异常情况的方法。通过使用异常处理,我们可以确保程序在遇到错误时能够正常运行,而不是崩溃。下面是一个C++异常处理的学习应用案例:

假设我们有一个程序,它需要从用户那里获取两个整数,并计算它们的除法结果。如果用户输入的除数为0,那么程序应该抛出一个异常,并提示用户输入非零数值。

#include <iostream>
#include <stdexcept>

int main() {
   
    int num1, num2;

    std::cout << "请输入两个整数:" << std::endl;
    std::cin >> num1 >> num2;

    try {
   
        if (num2 == 0) {
   
            throw std::runtime_error("除数不能为0");
        }
        double result = static_cast<double>(num1) / num2;
        std::cout << "两数相除的结果为:" << result << std::endl;
    } catch (const std::runtime_error& e) {
   
        std::cerr << "发生异常:" << e.what() << std::endl;
    }

    return 0;
}

在这个例子中,我们使用了try-catch语句来捕获可能抛出的异常。当用户输入的除数为0时,我们使用throw关键字抛出一个std::runtime_error异常。然后,在catch块中,我们捕获这个异常,并输出相应的错误信息。这样,程序在遇到错误时不会崩溃,而是会正常执行后续代码。

目录
相关文章
|
6天前
|
算法 C++
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
12 5
|
17天前
|
Java 编译器 C++
c++学习,和友元函数
本文讨论了C++中的友元函数、继承规则、运算符重载以及内存管理的重要性,并提到了指针在C++中的强大功能和使用时需要注意的问题。
12 1
|
1月前
|
编译器 C++
【C++核心】指针和引用案例详解
这篇文章详细讲解了C++中指针和引用的概念、使用场景和操作技巧,包括指针的定义、指针与数组、指针与函数的关系,以及引用的基本使用、注意事项和作为函数参数和返回值的用法。
27 3
|
1月前
|
C++
【C++案例】一个项目掌握C++基础-通讯录管理系统
这篇文章通过一个通讯录管理系统的C++项目案例,详细介绍了如何使用C++实现添加、显示、删除、查找、修改和清空联系人等功能。
33 3
|
11天前
|
存储 编译器 C语言
深入计算机语言之C++:类与对象(上)
深入计算机语言之C++:类与对象(上)
|
11天前
|
存储 分布式计算 编译器
深入计算机语言之C++:C到C++的过度-2
深入计算机语言之C++:C到C++的过度-2
|
11天前
|
编译器 Linux C语言
深入计算机语言之C++:C到C++的过度-1
深入计算机语言之C++:C到C++的过度-1
|
1月前
|
JavaScript 前端开发 测试技术
一个google Test文件C++语言案例
这篇文章我们来介绍一下真正的C++语言如何用GTest来实现单元测试。
16 0
|
5天前
|
存储 编译器 对象存储
【C++打怪之路Lv5】-- 类和对象(下)
【C++打怪之路Lv5】-- 类和对象(下)
15 4
|
5天前
|
编译器 C语言 C++
【C++打怪之路Lv4】-- 类和对象(中)
【C++打怪之路Lv4】-- 类和对象(中)
15 4