解釋throw表示式和try塊的使用方法的程式

2021-06-17 22:24:23 字數 1794 閱讀 4343

throw表示式是用在try塊中的。它用於丟擲錯誤資訊。throw丟擲的錯誤資訊被下面的catch函式接受,並且通過runtime_error類的成員函式what()返回throw關鍵字丟擲的錯誤資訊。下面是源程式。

sales_item.h

#ifndef _sales_item_

#define _sales_item_

#include #include using std::string;

using std::istream;

class sales_item

//this is not very clear

friend istream& operator >>(istream& in, sales_item& s)

private:

string isbn;

};#endif

main.cpp

#include #include #include "sales_item.h"

using std::runtime_error;

using std::cin;

using std::cout;

using std::endl;

using std::cerr;

int main()

catch (runtime_error err)

}cout << "the program will be stop! ";

getchar();

getchar();

return 0;

}

2023年8月18日 對try塊和throw表示式的用法的補充。

try塊和throw表示式並不是非要一起成對使用的。throw表示式丟擲的錯誤資訊可以被try塊中的catch語句接住並且通過what()成員函式輸出throw輸出的錯誤資訊。但是,如果沒有throw表示式catch語句就什麼都接不到麼?不是這樣的。throw表示式是一種允許程式設計師自定義錯誤資訊的表示式。系統同樣還定義了一組標準異常。這些標準異常定義在exception等標頭檔案中。也就是說,如果包含了相應的標頭檔案而且在try語句中出現了同檔案中定義的錯誤,那麼catch語句就能接受到相應的錯誤資訊。這類標頭檔案包括:exception,stdexcept,new,type_info。這四種標頭檔案的用法絕大多數我沒有進行試驗。只有stdexcept標頭檔案中的overflow_error類做過實驗。其他標準異常類的實驗如果有機會再補充。關於overflow_error異常類的實驗見下面的程式。

#include //stdexcept標頭檔案中定義了overflow_error類

#include #include //cstdlib標頭檔案中定義了exit_success

#include using std::overflow_error; //由於overflow_error不是系統關鍵字,所以一定要寫using宣告

using std::bitset;

using std::cout;

using std::endl;

int main()

catch (overflow_error err)

getchar();

return exit_success;

}

下圖是上面程式在64位windows7旗艦版microsoft visual c++ 2010學習版上執行的結果。

cronExpression表示式解釋

0 0 12 在每天中午12 00觸發 0 15 10 每天上午10 15 觸發 0 15 10 每天上午10 15 觸發 0 15 10 每天上午10 15 觸發 0 15 10 2005 在2005年中的每天上午10 15 觸發 0 14 每天在下午2 00至2 59之間每分鐘觸發一次 0 0 ...

cron表示式解釋

cron表示式通過特定的規則指定時間,用於定時任務,本文簡單記錄它的部分語法和例項,並不完全,能覆蓋日常大部分需求。1.整體結構 cron表示式是乙個字串,分為6或7個域,每兩個域之間用空格分隔,其語法格式為 秒域 分域 時域 日域 月域 周域 年域 其中,年域可以省略,省略時表示每年。2.各字段的...

賦值表示式和逗號表示式

c 把賦值運算子連線而成的式子叫做賦值表示式,例如 a b a b c a 3 等。賦值運算子是乙個雙目運算子,必須兩個參與運算的值,其左邊的值叫做 l value 通常是變數或賦值表示式,常量和常變數不可以作為賦值表示式的左值。賦值運算子右端的值叫做 r value 通常乙個常量 變數或表示式。c...