错误处理机制perror的详解

本文详细介绍了Linux系统中的错误处理机制,特别是perror函数如何根据errno值打印错误信息。当系统调用如open失败时,errno会被设置为对应错误编号。通过perror或strerror可以将错误编号转化为易读的错误信息。文中提供了一个示例代码,演示了如何使用这些错误处理方法来检查文件打开失败的具体原因。

open打开文件失败的原因,Linux系统会去设置errno的值 (整型的全局变量)

perrno会根据errno值(整型的全局变量)打印对应的错误信息

 

其实 errno是一个错误编号,当错误发生时,每一个不同的错误都有一个编号,这个编号的值就会被存储在errno中,perrorh会根据这错误编号判断是什么错误发生了,并且打印对应的错误信息,打印错误信息的函数有perror(),strerror(),printf("%m")等。

 

 打印错误信息

打印错误信息 / perror

void perror(const char *s)//打印系统错误信息

参数:

s: 字符串提示符

输出形式:

输出error值对应的错误信息

字符串显示错误信息 / strerror

函数原型:

char *strerror(int errnum);//将错误码以字符串的信息显示出来

参数:

errnum: 即errno

返回值:

返回错误码字符串信息

 

在讲解liunx错误处理机制之前我们先来看一段代码:

#include<sys/stat.h>

#include<unistd.h>

#include<sys/type.h>

#include<stdio.h>

#include<error.h>

 

int main(void){

int fd=open("test",O_WRONLY);//打开test文件,如果失败,系统会去设置全局变量error的值

if(fd<0){//打开失

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值