错误处理机制

15.1 errno

    vi /usr/include/asm-generic/errno-base.h

#define EPERM #define ENOENT #define ESRCH #define EINTR #define EIO 5 #define ENXIO #define E2BIG #define ENOEXEC #define EBADF #define ECHILD #define EAGAIN #define ENOMEM #define EACCES #define EFAULT #define ENOTBLK #define EBUSY #define EEXIST #define EXDEV #define ENODEV #define ENOTDIR #define EISDIR #define EINVAL #define ENFILE #define EMFILE #define ENOTTY #define ETXTBSY #define EFBIG #define ENOSPC #define ESPIPE #define EROFS #define EMLINK #define EPIPE #define EDOM #define ERANGE

1 /* Operation not permitted */
2 /* No such file or directory */ 3 /* No such process */
4 /* Interrupted system call */

/* I/O error */
6 /* No such device or address */ 7 /* Argument list too long */
8 /* Exec format error */
9 /* Bad file number */

10 /* No child processes */ 11 /* Try again */
12 /* Out of memory */
13 /* Permission denied */ 14 /* Bad address */

15 /* Block device required */
16 /* Device or resource busy */
17 /* File exists */
18 /* Cross-device link */
19 /* No such device */
20 /* Not a directory */
21 /* Is a directory */
22 /* Invalid argument */
23 /* File table overflow */
24 /* Too many open files */
25 /* Not a typewriter */
26 /* Text file busy */
27 /* File too large */
28 /* No space left on device */
29 /* Illegal seek */
30 /* Read-only file system */
31 /* Too many links */
32 /* Broken pipe */
33 /* Math argument out of domain of func */ 34 /* Math result not representable */

210 第15章 错误处理机制15.2 perror

#include <stdio.h>
void perror(const char *s); #include <errno.h>

const char *sys_errlist[]; int sys_nerr;
int errno;

15.3 strerror

#include <string.h>

char *strerror(int errnum);

int strerror_r(int errnum, char *buf, size_t buflen); /* XSI-compliant */

char *strerror_r(int errnum, char *buf, size_t buflen); /* GNU-specific */

猜你喜欢

转载自blog.csdn.net/lanlan1266/article/details/80165675