Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การจัดการข้อผิดพลาดในภาษา C

ภาษา C ไม่มีกลไก Exception Handling แบบ Built-in แต่มีวิธีจัดการข้อผิดพลาดดังนี้:

รหัสข้อผิดพลาดทั่วไป (errno)

รหัสข้อผิดพลาด
5I/O Error
2No such file or directory
7Argument list too long
12Out of memory
13Permission denied

วิธีจัดการข้อผิดพลาด

  • perror() − พิมพ์ข้อความผิดพร้อมคำอธิบายจาก errno
  • strerror() − ส่งคืนสตริงอธิบายข้อผิดพลาดจาก errno (ใน <string.h>)
  • Exit Status − ใช้ EXIT_SUCCESS และ EXIT_FAILURE กับ exit()
  • Divide by Zero − ไม่สามารถจัดการได้ ต้องตรวจสอบก่อนหารด้วย if

ตัวอย่างโค้ด

#include <stdio.h>
#include <stdlib.h>

int main() {
    int x = 28;
    int y = 8;
    int z;
    if (y == 0) {
        fprintf(stderr, "Division by zero!\n");
        exit(EXIT_FAILURE);
    }
    z = x / y;
    fprintf(stderr, "Value of z : %d\n", z);
    exit(EXIT_SUCCESS);
}

ผลลัพธ์

Value of z : 3