关于函数范围异常处理

ahao ahao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
比如下面的代码:

class A
{
public:
A()
{
throw ae();
}

class ae{};
};

class B
{
public:
B()
try : _sp_a( new A )
{
}
catch(A::ae& /*e*/)
{
int a = 0; // 会到这里
}

private:
shared_ptr<A> _sp_a;
};


void CTestsppoppDlg::OnBnClickedButton1()
try
{
B b;
}
catch(A::ae& /*e*/)
{
int b = 0; // 为什么会到这里?
};

为什么会进第二个catch?
我怎么才能捕获初始化列表里抛的异常,不让继续抛?
...全文

相关推荐

C++编程测试题,考察范围:面向对象特性与函数重载机制:基于类继承和多态的代码优化与异常处理技术解析

C++编程测试题,考察范围:面向对象特性与函数重载机制:基于类继承和多态的代码优化与异常处理技术解析

程序员烟花

(作业)一个介于1到20之间的整数参数(程序应测试该范围,并在超出范围时给出相应的响应

好的。 完成了。我现在应该将其发送给您的导师吗?

weixin_38565801

判断特定范围内的素数c#

当你输入一个范围时,程序会判定该范围内的所有素数,并输出!

「已注销」

设计一个学生类Stud,采用异常处理的方法,

/* 编写程序:设计一个学生类Stud,采用异常处理的方法, 在输入学生类Stud对象的数据时检测成绩输入是否正确。 */ #include #include class Stud { private : int number; char name[20]; double score; public : Stud(int n,char std[],double s) { number=n; strcpy(name,std); score=s; } void display() { cout<<"学生信息为:"<<endl; cout<<"学号:"<<number<<endl; cout<<"姓名:"<<name<<endl; cout<<"分数:"<<score<<endl; } }; void main() { int N; //学生学好 char Name[20]; //学生姓名 double S; //学生成绩 cout<<" 请输入学生学号:"<>N; cout<<"请输入学生姓名:"<>Name; cout<<"请输入学生成绩:"<>S; if(S150) { throw S; } Stud stu(N,Name,S); stu.display(); } catch(double) { cout<<"你输入的成绩不正确。(分数只能在0-150之间)"<<endl; } }

erteer

模板与异常处理.

模板与异常处理

qq_24446237
评论 14
收藏 已收藏
分享
返回顶部
ahao
C++ 语言 65,214 成员 250,514 内容