以下是看Think in C++而写的测试例子
#include <iostream>
using namespace std;
class MyErr
{
private:
const char* const data;
public:
MyErr(const char* const msg = 0):data(msg){}
void show(){cout << data <<endl;}
};
void foo()
{
int i;
cout << "输入一个大于0小于8的整数:";
cin >> i;
if(i < 0)
throw MyErr("输入不大于0");
else if(i >= 8)
throw MyErr("输入不小于8");
cout << "ok" <<endl;
}
void foo2()
{
foo();
}
int main(int argc, char *argv[])
{
try
{
foo2();
}
catch(MyErr &e)
{
e.show();
}
return 0;
}
本文详细介绍了如何在C++中利用异常处理机制来捕获和处理自定义错误,并通过实例展示了从输入验证到错误展示的全过程。
647

被折叠的 条评论
为什么被折叠?



