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

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

創(chuàng)新互聯(lián)專注于齊河網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供齊河營銷型網站建設,齊河網站制作、齊河網頁設計、齊河網站官網定制、微信小程序開發(fā)服務,打造齊河網絡公司原創(chuàng)品牌,更為您提供齊河網站排名全網營銷落地服務。

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

C++ 異常處理

C++ 異常處理

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

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

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

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

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

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

拋出異常

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

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

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

捕獲異常

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

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

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

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

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

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

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

Division by zero condition!

C++ 標準的異常

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

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

定義新的異常

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

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

這將產生以下結果:

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

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

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

當前名稱:關于C++的異常處理,解答在這來看看吧~
文章路徑:http://muchs.cn/article14/jojode.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供外貿建站、關鍵詞優(yōu)化ChatGPT、搜索引擎優(yōu)化、網站導航、網站改版

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司