Khái niệm "exception handling" trong C++ là cơ chế để xử lý các lỗi hoặc tình huống bất thường xảy ra trong quá trình thực thi chương trình. Điều này cho phép lập trình viên quản lý lỗi một cách hiệu quả, ngăn chặn chương trình bị dừng đột ngột và cung cấp các giải pháp thay thế.
Cách xử lý ngoại lệ trong C++ thường sử dụng các khối try, catch và throw. Dưới đây là đoạn mã minh họa:
```cpp
#include <iostream>
#include <stdexcept>
int divide(int a, int b) {
if (b == 0) {
throw std::invalid_argument("Division by zero is not allowed.");
}
return a / b;
}
int main() {
try {
int result = divide(10, 0); // Gây ra ngoại lệ
std::cout << "Result: " << result << std::endl;
} catch (const std::invalid_argument& e) {
std::cout << "Error: " << e.what() << std::endl; // Xử lý ngoại lệ
}
return 0;
}
```
Trong đoạn mã trên, hàm divide kiểm tra xem biến b có bằng 0 hay không. Nếu có, nó ném ra một ngoại lệ. Trong khối try, nếu có lỗi xảy ra, chương trình sẽ chuyển đến khối catch để xử lý và thông báo lỗi cho người dùng.