程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++的try塊與異常處置及調試技巧實例解析

C++的try塊與異常處置及調試技巧實例解析

編輯:關於C++

C++的try塊與異常處置及調試技巧實例解析。本站提示廣大學習愛好者:(C++的try塊與異常處置及調試技巧實例解析)文章只能為提供參考,不一定能成為您想要的結果。以下是C++的try塊與異常處置及調試技巧實例解析正文


本文以示例情勢簡述了C++ try塊的異常處置與調試技巧,有助於讀者溫習並加深對try塊的懂得。

1、格局:

拋出異常throw 異常類型例如throw runtime_error("Data must refer to same ISBN");

try{
program-statements
}catch(exception-specifier)
{
handler-statement;
}catch(exception-specifier)
{
handler-statement;
}

2、此處須要留意:

1.一旦catch子句履行停止,法式流程立刻持續履行緊跟著最初一個catch子句的語句。

2.在try塊中聲明的變量,包含catch子句中聲明的變量,不克不及在try裡面援用。

3.exception-specifier中有許多類型的異常,好比runtime_error類型是尺度庫異常類中的一種,留意每一個尺度庫異常類都界說了名為what的成員函數,例如runtime_error err,err.what();前往的是字符串。

4.在try嵌套try時,拋出一個異常,起首搜刮拋出異常的函數

5.若何在拋出異常後,沒有try塊來捕捉,則主動挪用terminate(在exception頭文件中)終止法式的履行

3、調試技巧:

1.應用預處置調試例如:

#ifndef NDEBUG
cerr<<"starting main"<<endl;
#endif
$CC -DNDEBUG main.c 

可以在main.c開首供給#define NDEBUG預處置敕令

2.還有一些調試時異常有效的常量__FILE__ (以後文件的途徑例如E:\main.c) __LINE__(__LINE__地點確當前行) __TIME__(以後時光) __DATE__(以後日期)

3.罕見的調試技巧是應用NDEBUG預處置變量和assert(在cassert頭文件中界說)預處置宏 assert(expr); 假如expr成果為false,assert輸入信息並終止法式,不然不做操作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved