看板Programming
标 题c++的例外处理
发信站KKCITY (Sat Mar 1 14:39:43 2008)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.au!zoonews.ee.ntu!news
请教一个问题,如果我想在c++内做例外的判断
为何我分子输入5 分母输入a
跑出5/2=2.5
而不是例外呢?
谢谢!
附上程式码如下:
#include <iostream>
#include <stdlib.h>
using namespace std;
class fraction
{
private:
int numerator;
int denominator;
public:
void set_value()
{
cout << "输入分子:";
cin >> numerator;
cout << "输入分母:";
cin >> denominator;
}
void print_value()
{
try
{
if (denominator==0)
{
throw 0;
}
else if (denominator<0)
{
throw " ~~分母<0 这样是不行的 ";
}
else
{
cout << numerator << "/" << denominator << "=";
cout << double (numerator)/double(denominator) << endl;
}
}
catch(int err)
{
cout <<"有问题"<<endl;
}
catch(const char* str)
{ cout <<str<<endl; }
catch(...)
{
cout <<"其他错误"<<endl;
}
}
};
int main()
{
fraction X;
X.set_value();
X.print_value();
system("pause");
return 0;
}
--
┌─────◆KKCITY◆─────┐ ◢
◤ 找歌最方便 KKBOX 歌词搜寻!!
│ bbs.kkcity.com.tw │ \^_^ / ★http://www.kkbox.com.tw★
└──《From:140.109.123.38
》──┘ ◤ 唱片公司授权,音乐尽情下载
--