VS 2017 C++使用 try
手頭有本C++基礎課本,“The Programming Principles and Practice Using C++" ,以Visual Studio 2005 為背景講述,在講到關於代碼中的 ”error and debugging"中,使用了如下示例代碼:
#include "../../std_lib_facilities.h" // 書本給出的頭文件,可以完成基本功能
int main()
try {
string s = "Success!\n"; //長度為9的字符串
for (int i=0; i<10; ++i) // exception 所在,讀取字符串 越界
cout << s[i];
keep_window_open();
return 0;
}
catch (exception& e) {
cerr << "error: " << e.what() << '\n'; // 輸出錯誤信息
keep_window_open(); //阻止運行窗口關閉
return 1;
}
catch (...) {
cerr << "Oops: unknown exception!\n";
keep_window_open();
return 2;
}
其在 VS 2005 上的結果為:
Success!
error: Range error: 9
……
而在VS 2017 上的結果:
Success!
(直接跳轉到開發環境中,打開相關的底層代碼(與string相關),並在旁邊使用“窗口標簽”提示,代碼出錯及原因)
請問這是什麼原因呢?如何使VS 2017上的運行情況和VS 2005上相同呢?
最後更新:2017-08-25 16:02:25
上一篇:
正確登錄密碼登錄時顯示錯誤
下一篇:
為何微軟鼠標和鍵盤中心無法識別出Sculpt舒適滑控鼠標和舒適曲線鍵盤3000?
你的設備已過期,並缺少重要的安全和質量更新,因此存在風險。讓我們帶你重回正軌,這樣
Microsoft store 無法聯網,顯示Microsoft Store需要聯網,你似乎沒有聯網
設備以遷移 由於僅部分匹配或匹配不明確,因此無法遷移設備
由於在創建轉儲期間出錯,創建轉儲文件失敗。
發生臨時 DNS 錯誤
應用商店,在我們這邊發生問題,無法使你登陸,錯誤代碼: 0xD000000D
照相機不可用,錯誤代碼:0xA00F4244(0xC00DABE0)
應用商店打開異常提示“清單中指定了未知的布局”
自定義掃描Windows defender裏麵的設備性能和運行狀況 黃色感歎號問題
windows預口體驗成員內口版本遇到問題需要重啟
熱門內容
windows10 點開此電腦後,有兩個顯示硬盤盤符的目錄是怎麼回事?
windows 10 專業版無法下載中文語言包
KB4056892
win10不能共享文件夾
在Surfacebook上用Windows to go 1703版本,更新後重啟藍屏,無法進入係統
windows10 1709版本更新失敗,錯誤0x8007001f
microdoft visual c++ 2015 redistributable
WIN10 Insider Preview 17025更新失敗,錯誤代碼0x80096004
計算機管理服務 出現一個內部錯誤(INVALID
關於控製麵板中的安全和維護內提示Windows defender 防病毒已關閉的問題