zoukankan      html  css  js  c++  java
  • C基础知识(11):错误处理

    C语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的C或UNIX函数调用返回1或NULL,同时会设置一个错误代码errno,该错误代码是全局变量,表示在函数调用期间发生了错误。可以在<error.h>头文件中找到各种各样的错误代码。

    C语言提供了perror()和strerror()函数来显示与errno相关的文本消息。

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <string.h>
     4 #include <errno.h>
     5 
     6 extern int errno;
     7 
     8 int main() {
     9 
    10     int errnum;
    11     FILE *pf = NULL;
    12     pf = fopen("unexist.txt", "r");
    13     if (pf == NULL) {
    14         errnum = errno;
    15         // 使用 stderr 文件流来输出所有的错误
    16         fprintf(stderr, "Error number: %d
    ", errno); // Error number: 2
    17         // perror()函数显示您传给它的字符串,后跟一个冒号、一个空格和当前 errno 值的文本表示形式
    18         perror("Print error by 'perror' function"); // Print error by 'perror' function: No such file or directory
    19         // strerror()函数,返回一个指针,指针指向当前errno值的文本表示形式。
    20         fprintf(stderr, "Error: %s
    ", strerror(errnum)); // Error: No such file or directory
    21         //退出程序时,会带有状态值EXIT_FAILURE,被定义为-1(stdlib.h)
    22         printf("Exit failure.
    ");
    23         exit(EXIT_FAILURE);
    24     } else {
    25         fclose(pf);
    26         //正常退出,会带有状态值EXIT_SUCCESS,被定义为0(stdlib.h)
    27         printf("Exit success.
    ");
    28         exit(EXIT_SUCCESS);
    29     }
    30 }
  • 相关阅读:
    [Bootstrap]全局样式(四)
    [Bootstrap]全局样式(三)
    [Bootstrap]全局样式(二)
    [Bootstrap]全局样式(一)
    [Bootstrap]概述
    原生JS-----一个剪刀石头布游戏
    聊聊 ES6 中的箭头函数
    jQuery中的 AJAX
    AJAX封装
    AJAX 初识
  • 原文地址:https://www.cnblogs.com/storml/p/7825623.html
Copyright © 2011-2022 走看看