### Xử lý ngoại lệ (Exception Handling) trong C++
Xử lý ngoại lệ trong C++ là cơ chế cho phép chương trình quản lý lỗi và các tình huống bất thường mà không làm cho chương trình bị dừng đột ngột. Nó giúp bảo vệ chương trình khỏi những lỗi không mong muốn và xử lý chúng một cách linh hoạt hơn.
### Cách xử lý ngoại lệ
C++ sử dụng ba từ khóa chính để xử lý ngoại lệ: `try`, `catch`, và `throw`.
1. **`try`:**
- Đặt mã lệnh có thể gây ra ngoại lệ trong khối `try`.
2. **`throw`:**
- Dùng để phát sinh một ngoại lệ khi một lỗi xảy ra.
3. **`catch`:**
- Đặt mã lệnh để xử lý ngoại lệ trong khối `catch`.
**Cú pháp:**
```cpp
try {
// Mã lệnh có thể gây ra ngoại lệ
throw ngoại lệ; // Phát sinh ngoại lệ
} catch (kiểu_ngoại_le) {
// Xử lý ngoại lệ
}
```
### Ví dụ:
```cpp
#include <iostream>
using namespace std;
int main() {
try {
int x = 10;
int y = 0;
if (y == 0) {
throw "Chia cho 0!"; // Phát sinh ngoại lệ
}
cout << x / y;
} catch (const char* msg) {
cerr << "Lỗi: " << msg << endl; // Xử lý ngoại lệ
}
return 0;
}
```
### Tầm quan trọng của xử lý ngoại lệ
1. **Bảo vệ chương trình:** Giúp chương trình không bị dừng đột ngột do lỗi.
2. **Quản lý lỗi linh hoạt:** Cho phép phát hiện và xử lý lỗi theo cách thích hợp.
3. **Cải thiện tính ổn định:** Làm cho ứng dụng đáng tin cậy hơn khi vận hành trong môi trường không ổn định.
Xử lý ngoại lệ là một phần quan trọng trong lập trình, giúp kiểm soát các vấn đề xảy ra trong quá trình thực thi.