C++ 中的異常處理:try 和 catch 的基本用法

本篇 ShengYu 介紹 C++ 中的異常處理:try 和 catch 的基本用法,在 C++ 編程中,處理異常是確保程式穩定執行的關鍵部分。這篇文章將介紹如何使用 trycatch 語句來實現異常處理,讓您的程式碼在面臨不可預見的錯誤時能夠穩定執行。

基本語法

在 C++ 中,異常處理主要包括三個部分:try 塊、throw 語句和 catch 塊。

  1. try 塊:包含可能引發異常的程式碼。
  2. throw 語句:用來引發異常。
  3. catch 塊:用來捕捉並處理異常。

範例

以下是一個簡單的例子,展示了如何在 C++ 中使用 trycatch 來處理異常。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;

int main() {
try {
// 可能會引發異常的程式碼
int a = 10;
int b = 0;
if (b == 0) {
throw "Division by zero!"; // 引發異常
}
int c = a / b;
cout << c << endl;
} catch (const char* msg) {
// 處理異常
cout << "Caught an exception: " << msg << endl;
}

return 0;
}
  • try 塊:在 try 塊內,我們放置了可能會引發異常的程式碼。在這個例子中,檢查分母是否為 0,如果是 0,就引發一個異常。
  • throw 語句:當條件成立時,throw 語句引發一個異常。在這裡,我們引發一個 C 字串類型的異常。
  • catch 塊catch 塊用來捕捉和處理異常。在這個例子中,我們捕捉到類型為 const char* 的異常,並輸出異常資訊。

多個 catch 塊

你可以有多個 catch 塊來捕捉不同類型的異常:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;

int main() {
try {
int x = -1;
if (x < 0) {
throw x;
}
} catch (int e) {
cout << "Caught an exception of type int: " << e << endl;
} catch (...) {
cout << "Caught an unknown exception." << endl;
}

return 0;
}

在這個例子中,第一個 catch 塊捕捉到整數類型的異常,第二個 catch 塊使用省略號(...)來捕捉所有其他類型的異常。

注意事項

  1. 異常類型:可以引發和捕捉任何類型的異常(如基本類型、類型物件、指標等),但建議使用類來表示異常,以便於擴展和管理。
  2. 標準異常類:C++ 標準庫提供了一些常見的異常類(如 std::exception 及其派生類),可以直接使用,詳細範例與深入介紹可以看這篇

總結

C++ 中的異常處理機制是確保程式穩定執行的重要工具。透過適當使用 trythrowcatch,您可以有效地管理程式中的異常情況,從而提高程式碼的健壯性和可維護性。

以上就是 C++ 中的異常處理:try 和 catch 的基本用法介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它相關文章推薦
如果你想學習 C++ 相關技術,可以參考看看下面的文章,
C/C++ 新手入門教學懶人包
這篇