首页 > 系统相关 >Linux-----错误处理

Linux-----错误处理

时间:2023-12-03 16:12:03浏览次数:32  
标签:错误 int errno error char ----- Linux 错误处理 include

 

Linux编程中,错误通过函数返回值表示-1,并通过变量errno描述

 

 

包含的头文件

 

<errno.h>中定义了extern int errno;

注意:

Errno的值只有在函数错误后短时间有效,后续任何成功执行的函数都会修改该值(errno可能会被覆盖)

errno可能错误值

 

 

 

C库提供了将errno的值转换为文本的函数,可以用在错误报告上

包含头文件
#include <stdio.h> 
API
void perror(const char *str); 

作用:标准错误输出打印错误报告,以str指定的字符串为前缀

实例

 

 会打印

close:xxxxxxxxxxxx提示错误原因

 

 

包含头文件
#include <string.h> 
char * strerror (int errnum); 
API 
int strerror_r(int errnum, char *buf, size_

作用:返回提示错误原因的字符串

#include <stdio.h>
#include <string.h>

int main() {
    int error_code = 2;  // 假设这是一个错误代码

    const char* error_message = strerror(error_code);
    printf("Error message: %s\n", error_message);

    return 0;
}

 

还有一种提示错误的办法就是写日志文件,利用日志文件能够清楚知道哪一步出现问题。

 

标签:错误,int,errno,error,char,-----,Linux,错误处理,include
From: https://www.cnblogs.com/sujian4412/p/17873307.html

相关文章

  • 计算机组成原理 | 王道辅导书 | CH 1 - 3 | 真题
    这个也是实时更新的,更新完结之后,我会在帖子开启的部分说明 2023年12月3日今天中午吃完午饭,放松了一个小时,由于这几年没有收入,我非常有罪恶感。然后前段时间发现也有一个木有收入的媒体人,转发一下吧。 南开+腾讯+背包客+自媒体+网络红人——暂时厘定这些标签 ......
  • 力扣---1423. 可获得的最大点数
    几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大......
  • 无涯教程-Erlang - 预处理
    在编译Erlang模块之前,它会由Erlang预处理程序自动处理,预处理器会扩展源文件中可能存在的所有宏,并插入任何必要的包含文件。通常,您不需要查看预处理器的输出,但是在特殊情况下(如,调试错误的宏时),您可能希望保存预处理器的输出,要查看模块some_module.erl的预处理输出,请提供OSShe......
  • 1-1 结构化数据建模流程范例
    0.环境配置importos#mac系统上pytorch和matplotlib在jupyter中同时跑需要更改环境变量#os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"!pipinstall-Utorchkeras-ihttps://pypi.douban.com/simple!pipinstallpandas-ihttps://pypi.douban.com/simple!pipins......
  • 基础-字符串
    1、字符串格式问题1#1、字符串格式问题2#我叫xx,我叫xxx3name=input("请出入名称")4adress=input("请出入地址")5age=int(input("请出年龄"))6hobby=input("请出爱好")8#%s字符串占位9#%d占位整数11#方法一12s1="我叫%s,我住在%s,我......
  • 【Linux 基础】正则表达式 与 通配符 区别
    简短不看版:通配符和正则表达式比较(1)通配符和正则表达式看起来有点像,不能混淆。可以简单的理解为通配符只有*,?,[],{}这4种,而正则表达式复杂多了。(2)*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个......
  • Django 日作 12/3 ---日志模块封装(loguru)
    #1pythonloguru如何用,如何把日志写到文件中,日志级别有哪些https://loguru.readthedocs.io/en/stable/resources/recipes.html#compatibility-with-multiprocessing-using-enqueue-argument  官方loguru不需要配置,输出到文件的话——先导入loguru包,fromloguruimportl......
  • 无涯教程-Erlang - 异常处理
    任何编程语言都需要异常处理来处理运行时错误,以便可以维护应用程序的正常流程。通常,当Erlang中发生异常或错误时,将显示以下消息。{"initterminatingindo_boot",{undef,[{helloLearnfk,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}故障转储将被写入-erl_......
  • Linux和Windows时间不一致问题
    问题描述装过双系统或者虚拟机装Linux的人都知道,Linux的时间和Windows往往是不同步的,在编写跨平台程序的时候特别是对时间敏感的代码就带来很大的困扰解决办法这个问题可以在Linux下解决先用命令查看时区timedatectl如果系统刚刚装好,没有设置好时区,有可能默认的是America/L......
  • linux/centos使用fail2ban实现计次登录失败封禁其ip
    问题背景使用命令 cat/var/log/secure 查询服务器登录记录,发现有ip在进行暴力破解所以使用fail2ban进行ip限制,如果登录失败五次,则永久封禁其ip。安装并配置fail2ban(来自ChatGPT)下面是一份完整的Fail2Ban安装和配置,用于监视SSH服务并在登录失败5次时永久封锁相关IP的配置。......