• C/C++基础 异常处理关键字 throw、try、catch


    C++提供了处理异常的关键字:throw、try、catch

            使用throw抛出一个异常,使用try和catch捕获异常:

    1. try{
    2. ...//保护代码
    3. }catch(Ex e1){
    4. ...//异常处理
    5. }catch(Ex e2){
    6. ...//异常处理
    7. }catch(Ex eN){
    8. ...//异常处理
    9. }

            try块后面通常跟着1个或多个catch块,用于捕获保护代码里可能抛出的异常。当保护代码抛出异常后,程序将跳出try块(即使在另一个函数域中),并在catch块中寻找关于该异常的处理办法,Ex e中,Ex即抛出异常的类型,e即处理异常中对异常的称呼(类似函数的参数)

    1. #include<iostream>
    2. using namespace std;
    3. template<class t>
    4. t divide(t a,t b){
    5. if(b==0) throw"Devided by zero!";
    6. return a/b;
    7. }
    8. int main(){
    9. try{
    10. cout<<divide(10,5)<<endl<<divide(10,0)<<endl<<divide(18,2)<<endl;
    11. }
    12. catch(const char* err){
    13. cerr<<err<<endl; //std::cerr标准错误流异常输出
    14. }
    15. return 0;
    16. }

    编译 & 运行:

    1. g++ -o executable main1.c
    2. ./executable

    结果:

    不难看出,当try块中抛出异常后,程序将第一时间退出保护代码,后面的语句不会被执行。

  • 相关阅读:
    linux主机名
    Vue 组件和插件:探索细节与差异
    服务器存储面临的两大难题
    想找手续费低的期货公司开户不难
    惯性导航技术, IMU, AHRS
    聊聊GPU与CPU的区别
    创建InfluxDB数据库自定义函数
    一文搞懂并查集
    SpringBoot中使用Redis
    Auto.js中APP应用相关指令
  • 原文地址:https://blog.csdn.net/qq_34761779/article/details/128204513