中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于C++ 的異常處理,解答在這來看看吧~

發布時間:2020-08-09 13:05:50 來源:ITPUB博客 閱讀:139 作者:ruijing1207 欄目:編程語言

現如今使用計算機的人越來越多,從事計算機行業的人也與日俱增,那么從事計算機行業的第一個就要接觸的就是c++語言的,作為最基礎的入門級語言,關于它的異常處理您知道多少呢,跟隨小編的文章一起看看吧。

https://www.macz.com/mac/1151.html

C++ 異常處理

C++ 異常處理

異常是程序在執行期間產生的問題。C++ 異常是指在程序運行時發生的特殊情況,比如嘗試除以零的操作。

異常提供了一種轉移程序控制權的方式。C++ 異常處理涉及到三個關鍵字: try、catch、throw

  • throw: 當問題出現時,程序會拋出一個異常。這是通過使用  throw 關鍵字來完成的。
  • catch: 在您想要處理問題的地方,通過異常處理程序捕獲異常。 catch 關鍵字用于捕獲異常。
  • try: try 塊中的代碼標識將被激活的特定異常。它后面通常跟著一個或多個 catch 塊。

如果有一個塊拋出一個異常,捕獲異常的方法會使用  try 和  catch 關鍵字。try 塊中放置可能拋出異常的代碼,try 塊中的代碼被稱為保護代碼。使用 try/catch 語句的語法如下所示:

關于C++ 的異常處理,解答在這來看看吧~

如果  try 塊在不同的情境下會拋出不同的異常,這個時候可以嘗試羅列多個  catch 語句,用于捕獲不同類型的異常。

拋出異常

您可以使用  throw 語句在代碼塊中的任何地方拋出異常。throw 語句的操作數可以是任意的表達式,表達式的結果的類型決定了拋出的異常的類型。

以下是嘗試除以零時拋出異常的實例:

關于C++ 的異常處理,解答在這來看看吧~

捕獲異常

catch 塊跟在  try 塊后面,用于捕獲異常。您可以指定想要捕捉的異常類型,這是由 catch 關鍵字后的括號內的異常聲明決定的。

關于C++ 的異常處理,解答在這來看看吧~

上面的代碼會捕獲一個類型為  ExceptionName 的異常。如果您想讓 catch 塊能夠處理 try 塊拋出的任何類型的異常,則必須在異常聲明的括號內使用省略號 ...,如下所示:

關于C++ 的異常處理,解答在這來看看吧~

下面是一個實例,拋出一個除以零的異常,并在 catch 塊中捕獲該異常。

關于C++ 的異常處理,解答在這來看看吧~

由于我們拋出了一個類型為  const char* 的異常,因此,當捕獲該異常時,我們必須在 catch 塊中使用 const char*。當上面的代碼被編譯和執行時,它會產生下列結果:

Division by zero condition!

C++ 標準的異常

C++ 提供了一系列標準的異常,定義在 中,我們可以在程序中使用這些標準的異常。它們是以父子類層次結構組織起來的,如下所示:

關于C++ 的異常處理,解答在這來看看吧~

定義新的異常

您可以通過繼承和重載  exception 類來定義新的異常。下面的實例演示了如何使用 std::exception 類來實現自己的異常:

關于C++ 的異常處理,解答在這來看看吧~

這將產生以下結果:

關于C++ 的異常處理,解答在這來看看吧~

在這里, what() 是異常類提供的一個公共方法,它已被所有子異常類重載。這將返回異常產生的原因。

希望小編的分享能夠幫助到您,了解更多Mac編程軟件教程,盡在macz.com!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会东县| 邵阳市| 镶黄旗| 务川| 桦川县| 德保县| 衢州市| 荔浦县| 保定市| 乐都县| 溧阳市| 西乌珠穆沁旗| 和顺县| 界首市| 调兵山市| 天峨县| 融水| 邯郸市| 庆安县| 镇江市| 江门市| 普宁市| 小金县| 灵山县| 蓬莱市| 凌源市| 伊宁县| 温泉县| 柘城县| 洞头县| 南华县| 瑞昌市| 夏河县| 固始县| 津南区| 合阳县| 舒城县| 若羌县| 五原县| 平顶山市| 毕节市|