線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:560
推到 Plurk!
推到 Facebook!

Exception Specifications 可以指定兩個以上的exception型別嗎?

尚未結案
scott777
一般會員


發表:10
回覆:15
積分:5
註冊:2002-08-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-06 18:03:55 IP:61.230.xxx.xxx 未訂閱
Exception Specifications 可以指定兩個以上的exception型別嗎? 例如; void pop(int &value) throw(popOnEmpty); 如果我有另一個exception class popOnErr要丟出呢? 麻煩各位前輩了!!
happosai
高階會員


發表:93
回覆:228
積分:109
註冊:2002-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-14 01:32:16 IP:218.166.xxx.xxx 未訂閱
我沒想過這個問題,不過試了一下真的可以喔    
void pop(int &value) throw(popOnEmpty,popOnErr);
scott777
一般會員


發表:10
回覆:15
積分:5
註冊:2002-08-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-14 16:54:00 IP:61.230.xxx.xxx 未訂閱
真的可以,謝謝摟.... 底下是測試程式碼...    
#include 
#include 
using namespace std;    class PushOnFull
{
};
class PushOnErr
{
};
class PushOnTest
{
};    class MyStack{
public:
        bool pop(int &top_value);
        bool push(int value) throw (PushOnFull,PushOnErr);
};    bool MyStack::pop(int &top_value)
{
}    bool MyStack::push(int value) throw (PushOnFull,PushOnErr)
{
        if(value ==1)
                throw PushOnFull();
        else if(value ==2)
                throw PushOnErr();
        else throw PushOnTest();
}    int main()
{
        int a=0;
        MyStack st;
        do
        {
                cout << "input a value:" << endl;
                cin >> a;
                try{
                        st.push(a);
                }
                catch(PushOnFull){
                        cout << "PushOnFull" << endl;
                }
                catch(PushOnErr){
                        cout << "PushOnErr" << endl;
                }
        }
        while( a != 0 );            return 1;
}
系統時間:2024-05-18 16:24:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!