Computer >> Máy Tính >  >> Lập trình >> C ++

Xử lý lỗi trong C


Ngôn ngữ C không hỗ trợ xử lý lỗi. Có một số cách khác mà việc xử lý lỗi có thể được thực hiện bằng ngôn ngữ C. Tệp tiêu đề “error.h” được sử dụng để in các lỗi bằng cách sử dụng hàm câu lệnh trả về.

Nó trả về -1 hoặc NULL trong trường hợp có bất kỳ lỗi nào và biến errno được đặt bằng mã lỗi. Bất cứ khi nào một hàm được gọi bằng ngôn ngữ C, biến errno được liên kết với nó. errno là một biến toàn cục và được sử dụng để tìm loại lỗi trong quá trình thực thi.

Bảng sau đây hiển thị một số lỗi -

Sr.No Lỗi &Giá trị lỗi
1 Lỗi I / O
5
2 Không có tệp hoặc thư mục nào như vậy
2
3 Danh sách đối số quá dài
7
4 Hết bộ nhớ
12
5 Quyền bị từ chối
13

Có một số phương pháp để xử lý lỗi trong ngôn ngữ C -

  • perror () - Hàm này được sử dụng để in lỗi và nó trả về chuỗi cùng với biểu diễn dạng văn bản của giá trị errno hiện tại.

  • strerror () - Hàm này được khai báo trong tệp tiêu đề “string.h” và nó trả về con trỏ đến chuỗi giá trị errno hiện tại.

  • Trạng thái thoát - Có hai hằng số EXIT_SUCCESS và EXIT_FAILURE có thể được sử dụng trong hàm exit () để thông báo cho hàm đang gọi về lỗi.

  • Chia cho 0 - Đây là một tình huống mà không thể làm gì để xử lý lỗi này trong ngôn ngữ C. Tránh lỗi này và bạn có thể kiểm tra giá trị số chia bằng cách sử dụng điều kiện "if" trong chương trình.

Đây là một ví dụ về xử lý lỗi trong ngôn ngữ C,

Ví dụ

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

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);
}

Đầu ra

Đây là kết quả đầu ra

Value of z : 3