| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2129 人关注过本帖
标题:小白求助 关于抛异常的问题
取消只看楼主 加入收藏
d7se123
Rank: 2
等 级:论坛游民
帖 子:65
专家分:14
注 册:2020-3-13
结帖率:50%
收藏
 问题点数:0 回复次数:3 
小白求助 关于抛异常的问题
#include "iostream"
using std::endl;
using std::cin;
using std::cout;

double divided(int a, int b)
{
    if (b == 0)
    {
        throw a;
    }
    return a / b;
}

void myDivided(int a, int b)
{
    try
    {
        divided(a, b);
    }
    catch (...)
    {
        cout << "我接收了divided的异常,但是我没处理\n";
        throw;//问题1: 这里throw之后运行成功
    }
}

void main()
{
    try
    {
        myDivided(10, 2);
        myDivided(40, 0);
    }
    catch (...)
    {
        cout << "其他异常\n";
    }
    system("pause");
}




#include "iostream"
using std::endl;
using std::cout;
using std::cin;

class Test
{
private:
    int a;
    int b;
public:
    Test(int a, int b)
    {
        this->a = a;
        this->b = b;
    }
    ~Test()
    {
        cout << "析构函数执行了\n";
    }
};

void objPlay()
{
    Test t1(11, 22);
    Test t2(33, 44);
    cout << "准备抛异常\n";
    throw;//问题:对比上面的运行成功 这里直接throw运行失败,是怎么一回事啊?
}

void main()
{
    try
    {
        objPlay();
    }
    catch (...)
    {
        cout << "未知类型异常\n";

    }
    system("pause");
}
搜索更多相关主题的帖子: 异常 int std using cout 
2020-05-10 11:58
d7se123
Rank: 2
等 级:论坛游民
帖 子:65
专家分:14
注 册:2020-3-13
收藏
得分:0 
回复 2楼 雪影辰风
不管怎么说 谢谢大佬了
2020-05-10 16:43
d7se123
Rank: 2
等 级:论坛游民
帖 子:65
专家分:14
注 册:2020-3-13
收藏
得分:0 
回复 4楼 rjsp
谢谢大佬了  你是说在catch里只有throw 表示继续抛出前一个的异常吗?
2020-05-11 11:17
d7se123
Rank: 2
等 级:论坛游民
帖 子:65
专家分:14
注 册:2020-3-13
收藏
得分:0 
回复 7楼 rjsp
谢谢了 原来是版主驾到 有失远迎
2020-05-11 17:09
快速回复:小白求助 关于抛异常的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026344 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved