作者Killercat (杀人猫™)
站内Programming
标题Re: 例外处理问题之二
时间Thu Sep 13 04:28:55 2007
※ 引述《ephesians (发起钱像乱喷水)》之铭言:
: ※ 引述《[email protected] (大改名片档)》之铭言:
: 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 …)
: : { cout <<"其他错误"<<endl; }
: }
: 最後那个catch的 "..." 不晓得你把它改成什麽,
: 不过按try的内容来说,最後catch改成
: catch(const char* ex) {
: cout << "其他" << endl;
: }
: 即可.
"..."是全抓, 他这样基本上是对的
普通来讲我们都会放一个catch(...)在最後面来提示coder有没有没捕捉到的错误
不然exception没抓到预设是abort(0) or exit(0)
怎麽死的都不知道(terminate的原因太多了 鬼才晓得是不是因为exception没抓到XD)
不过麻烦原PO"..."请用三个点 不要用这种全形文字
这种全行文字编译器吃得下去才有鬼 囧
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.220.171
※ 编辑: Killercat 来自: 220.135.220.171 (09/13 04:48)