Xử lý ngoại lệ trong C++ – Phần 15

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
Xử lý ngoại lệ trong C++ – Phần 15

Xử lý ngoại lệ trong C++

1. Giới thiệu

Xử lý ngoại lệ giúp chương trình có thể tiếp tục chạy khi gặp lỗi thay vì bị dừng đột ngột. C++ hỗ trợ xử lý ngoại lệ thông qua các khối try, catch và throw.

2. Cấu trúc xử lý ngoại lệ

try {
    // Code có thể gây lỗi
} catch (ExceptionType e) {
    // Xử lý ngoại lệ
}

3. Sử dụng throw để phát sinh ngoại lệ

#include <iostream>
using namespace std;

void kiemTraSo(int num) {
    if (num < 0) {
        throw "Số không được âm!";
    }
    cout << "Số hợp lệ: " << num << endl;
}

int main() {
    try {
        kiemTraSo(-5);
    } catch (const char* msg) {
        cout << "Lỗi: " << msg << endl;
    }
    return 0;
}

4. Xử lý nhiều ngoại lệ

#include <iostream>
using namespace std;

void kiemTra(int num) {
    if (num < 0) throw "Số không được âm!";
    if (num == 0) throw 0;
}

int main() {
    try {
        kiemTra(0);
    } catch (const char* msg) {
        cout << "Lỗi: " << msg << endl;
    } catch (int e) {
        cout << "Lỗi: Giá trị bằng 0!" << endl;
    }
    return 0;
}

5. Sử dụng ngoại lệ trong hàm

#include <iostream>
#include <stdexcept>
using namespace std;

void chiaHaiSo(int a, int b) {
    if (b == 0) {
        throw runtime_error("Lỗi chia cho 0!");
    }
    cout << "Kết quả: " << (a / b) << endl;
}

int main() {
    try {
        chiaHaiSo(10, 0);
    } catch (runtime_error &e) {
        cout << "Ngoại lệ: " << e.what() << endl;
    }
    return 0;
}

6. Kết luận

Xử lý ngoại lệ giúp chương trình chạy an toàn hơn và dễ dàng bảo trì. Trong bài tiếp theo, chúng ta sẽ tìm hiểu về lập trình đa luồng trong C++.

Bài viết liên quan