Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Mengendalikan Pembahagian mengikut Pengecualian Sifar dalam C?

Bagaimanakah Saya Mengendalikan Pembahagian mengikut Pengecualian Sifar dalam C?

Linda Hamilton
Linda Hamiltonasal
2024-12-29 10:21:10477semak imbas

How Do I Handle Division by Zero Exceptions in C  ?

Catching Exception: Divide by Zero

Dalam C , pembahagian integer dengan sifar tidak secara automatik ditangkap sebagai pengecualian oleh masa jalan. Pengecualian C standard tidak termasuk pengecualian khusus untuk kes ini.

Untuk mengendalikan pembahagian dengan sifar, anda perlu menyemaknya secara eksplisit dan membuang pengecualian sendiri. Ini boleh dilakukan menggunakan syarat seperti:

if (denominator == 0) {
    throw std::overflow_error("Divide by zero exception");
}

di mana penyebut ialah pembahagi.

Berikut ialah contoh cara melaksanakan semakan ini:

int main() {
    int i = 42;

    try {
        i = 10 / 0;
    } catch (std::overflow_error &e) {
        std::cout << "Divide by zero exception: " << e.what() << std::endl;
    }

    std::cout << "i after exception: " << i << std::endl;
}

Kod ini akan mencetak output berikut:

Divide by zero exception: Divide by zero exception
i after exception: 42

Dengan membuang pengecualian untuk pembahagian dengan sifar, anda boleh mengendalikannya dengan anggun dan pastikan program anda tidak ranap dengan ralat tingkah laku yang tidak ditentukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengendalikan Pembahagian mengikut Pengecualian Sifar dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn