嗨,
我有一個簡單的錯誤管理器類,其他類使用報告其隨後的錯誤打印到日誌文件供以後檢查。我可以打印出說明並給出錯誤代碼。我也想,是因爲它記錄文件名和記錄錯誤的行號(自動,而不是我每次寫它)。任何方式來做到這一點?我知道這是因爲我看到了,我找不到解決方案 - 可能是由於搜索條件不正確。
謝謝!
嗨,
我有一個簡單的錯誤管理器類,其他類使用報告其隨後的錯誤打印到日誌文件供以後檢查。我可以打印出說明並給出錯誤代碼。我也想,是因爲它記錄文件名和記錄錯誤的行號(自動,而不是我每次寫它)。任何方式來做到這一點?我知道這是因爲我看到了,我找不到解決方案 - 可能是由於搜索條件不正確。
謝謝!
是的,您可以使用__FILE__
和__LINE__
宏,這些宏分別擴展爲文件名和行號。
正如詹姆斯所說McNellis,使用__FILE__
和__LINE__
宏。請注意,這些是宏,如果您只是在錯誤處理方法中使用它們,它們只會告訴您錯誤處理方法的定義。如果你不想在代碼中傳播它們,你需要在另一個宏中使用它們。事情是這樣的:
void my_error_handler(const char* file, int line, const char* message) {
// ...
}
#define ERROR(MESSAGE) my_error_handler(__FILE__, __LINE__, MESSAGE)
然後你就可以在你的代碼中使用它:
if (1 == 2) {
ERROR("Something went wrong.");
}
[C/C++行號]的複製(http://stackoverflow.com/questions/2849832/cc-電話號碼) – 2010-08-14 21:20:23