Re: 例外處理問題之二
※ 引述《ephesians (發起錢像亂噴水)》之銘言:
: ※ 引述《jiannrong.bbs@bbs.wretch.cc (大改名片檔)》之銘言:
: 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)
討論串 (同標題文章)