C++语言基础 例程 异常处理的任务

简介: 贺老师的教学链接  本课讲解一个典型的问题程序#include <iostream>using namespace std;template <typename T>T Div(T x,T y){ return x/y;}int main(){ int x,y; double x1,y1; cin>>x

贺老师的教学链接  本课讲解


一个典型的问题程序

#include <iostream>
using namespace std;
template <typename T>
T Div(T x,T y)
{
    return x/y;
}


int main()
{
    int x,y;
    double x1,y1;
    cin>>x>>y;    //y要是输入0,就玩完了
    cin>>x1>>y1;   //同上
    cout<<x<<"/"<<y<<"="<<Div(x,y)<<endl;
    cout<<x1<<"/"<<y1<<"="<<Div(x1,y1)<<endl;
    return 0;
}


再不用担心意外带来的不快了!
#include <iostream>
using namespace std;
template <typename T>
T Div(T x,T y)
{
    if(y==0)
        throw y;//抛出异常
    return x/y;
}


int main()
{
    int x=5,y=0;
    double x1=5.5,y1=0.0;
    try
    {
        //被检查的语句
        cout<<x<<"/"<<y<<"="<<Div(x,y)<<endl;
        cout<<x1<<"/"<<y1<<"="<<Div(x1,y1)<<endl;
    }
    catch(int)//异常类型
    {
        cout<<"除数为0,计算错误!"<<endl;//异常处理语句
    }
    catch(double)//异常类型
    {
        cout<<"除数为0.0,计算错误!"<<endl;//异常处理语句
    }
    return 0;
}


目录
相关文章
|
10月前
|
存储 负载均衡 算法
基于 C++ 语言的迪杰斯特拉算法在局域网计算机管理中的应用剖析
在局域网计算机管理中,迪杰斯特拉算法用于优化网络路径、分配资源和定位故障节点,确保高效稳定的网络环境。该算法通过计算最短路径,提升数据传输速率与稳定性,实现负载均衡并快速排除故障。C++代码示例展示了其在网络模拟中的应用,为企业信息化建设提供有力支持。
302 15
|
5月前
|
存储 C++
C++语言中指针变量int和取值操作ptr详细说明。
总结起来,在 C++ 中正确理解和运用 int 类型地址及其相关取值、设定等操纵至关重要且基础性强:定义 int 类型 pointer 需加星号;初始化 pointer 需配合 & 取址;读写 pointer 执向之处需配合 * 解引用操纵进行。
535 12
|
10月前
|
C语言 C++ 开发者
【c++】异常处理
本文深入探讨了C++中的异常处理机制,从基础概念到实际应用进行全面解析。首先介绍了异常的作用及优势,相比C语言的错误码方式,C++通过抛出对象实现更全面的错误处理。接着分析了异常的使用方法,包括`try-catch`结构、异常传播与捕获规则,以及栈展开的过程。文章还讨论了异常安全问题,如内存泄漏和资源清理,并引出智能指针的解决方案。此外,介绍了C++11的`noexcept`规范和标准库异常体系,帮助开发者构建更健壮的应用程序。最后总结了异常的优点与潜在问题,为后续学习智能指针埋下伏笔。
278 15
|
10月前
|
存储 算法 安全
企业员工数据泄露防范策略:基于 C++ 语言的布隆过滤器算法剖析[如何防止员工泄密]
企业运营过程中,防范员工泄密是信息安全领域的核心议题。员工泄密可能致使企业核心数据、商业机密等关键资产的流失,进而给企业造成严重损失。为应对这一挑战,借助恰当的数据结构与算法成为强化信息防护的有效路径。本文专注于 C++ 语言中的布隆过滤器算法,深入探究其在防范员工泄密场景中的应用。
237 8
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
288 0
|
算法 C++
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
356 5
|
缓存 负载均衡 Java
c++写高性能的任务流线程池(万字详解!)
本文介绍了一种高性能的任务流线程池设计,涵盖多种优化机制。首先介绍了Work Steal机制,通过任务偷窃提高资源利用率。接着讨论了优先级任务,使不同优先级的任务得到合理调度。然后提出了缓存机制,通过环形缓存队列提升程序负载能力。Local Thread机制则通过预先创建线程减少创建和销毁线程的开销。Lock Free机制进一步减少了锁的竞争。容量动态调整机制根据任务负载动态调整线程数量。批量处理机制提高了任务处理效率。此外,还介绍了负载均衡、避免等待、预测优化、减少复制等策略。最后,任务组的设计便于管理和复用多任务。整体设计旨在提升线程池的性能和稳定性。
356 5
|
存储 编译器 C语言
深入计算机语言之C++:类与对象(上)
深入计算机语言之C++:类与对象(上)
177 0
|
存储 分布式计算 编译器
深入计算机语言之C++:C到C++的过度-2
深入计算机语言之C++:C到C++的过度-2
128 0
|
编译器 Linux C语言
深入计算机语言之C++:C到C++的过度-1
深入计算机语言之C++:C到C++的过度-1
177 0