有时可以知道错误的数值,但是如果不知道对应于那个宏定义,也很难知道这个错误描述的是什么。我平时这两种方法来确定:在内核源码中搜索和查看头文件。
在内核源码中搜索一般都可以搜到,而且使用source
insight的话也很方便,不多说了。当然更多的时候还是看头文件,因为一般的错误在/usr/include/asm-generic/errno-base.h和/usr/include/asm-generic/errno.h这个两个头文件中都可以找到,在/usr/include/bits/errno.h头文件中也有,但是很少。我写这篇的目的就是给哪些比较懒的同学,当然也给自己,下面我会贴出头文件中定义,这样便于查阅:
#define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file
or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /*
Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No
such device or address */ #define E2BIG 7 /* Argument list too long */ #define
ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file number */ #define
ECHILD 10 /* No child processes */ #define EAGAIN 11 /* Try again */ #define
ENOMEM 12 /* Out of memory */ #define EACCES 13 /* Permission denied */ #define
EFAULT 14 /* Bad address */ #define ENOTBLK 15 /* Block device required */
#define EBUSY 16 /* Device or resource busy */ #define EEXIST 17 /* File exists
*/ #define EXDEV 18 /* Cross-device link */ #define ENODEV 19 /* No such device
*/ #define ENOTDIR 20 /* Not a directory */ #define EISDIR 21 /* Is a directory
*/ #define EINVAL 22 /* Invalid argument */ #define ENFILE 23 /* File table
overflow */ #define EMFILE 24 /* Too many open files */ #define ENOTTY 25 /*
Not a typewriter */ #define ETXTBSY 26 /* Text file busy */ #define EFBIG 27 /*
File too large */ #define ENOSPC 28 /* No space left on device */ #define
ESPIPE 29 /* Illegal seek */ #define EROFS 30 /* Read-only file system */
#define EMLINK 31 /* Too many links */ #define EPIPE 32 /* Broken pipe */
#define EDOM 33 /* Math argument out of domain of func */ #define ERANGE 34 /*
Math result not representable */ #define EDEADLK 35 /* Resource deadlock would
occur */ #define ENAMETOOLONG 36 /* File name too long */ #define ENOLCK 37 /*
No record locks available */ #define ENOSYS 38 /* Function not implemented */
#define ENOTEMPTY 39 /* Directory not empty */ #define ELOOP 40 /* Too many
symbolic links encountered */ #define EWOULDBLOCK EAGAIN /* Operation would
block */ #define ENOMSG 42 /* No message of desired type */ #define EIDRM 43 /*
Identifier removed */ #define ECHRNG 44 /* Channel number out of range */
#define EL2NSYNC 45 /* Level 2 not synchronized */ #define EL3HLT 46 /* Level 3
halted */ #define EL3RST 47 /* Level 3 reset */ #define ELNRNG 48 /* Link
number out of range */ #define EUNATCH 49 /* Protocol driver not attached */
#define ENOCSI 50 /* No CSI structure available */ #define EL2HLT 51 /* Level 2
halted */ #define EBADE 52 /* Invalid exchange */ #define EBADR 53 /* Invalid
request descriptor */ #define EXFULL 54 /* Exchange full */ #define ENOANO 55
/* No anode */ #define EBADRQC 56 /* Invalid request code */ #define EBADSLT 57
/* Invalid slot */ #define EDEADLOCK EDEADLK #define EBFONT 59 /* Bad font file
format */ #define ENOSTR 60 /* Device not a stream */ #define ENODATA 61 /* No
data available */ #define ETIME 62 /* Timer expired */ #define ENOSR 63 /* Out
of streams resources */ #define ENONET 64 /* Machine is not on the network */
#define ENOPKG 65 /* Package not installed */ #define EREMOTE 66 /* Object is
remote */ #define ENOLINK 67 /* Link has been severed */ #define EADV 68 /*
Advertise error */ #define ESRMNT 69 /* Srmount error */ #define ECOMM 70 /*
Communication error on send */ #define EPROTO 71 /* Protocol error */ #define
EMULTIHOP 72 /* Multihop attempted */ #define EDOTDOT 73 /* RFS specific error
*/ #define EBADMSG 74 /* Not a data message */ #define EOVERFLOW 75 /* Value
too large for defined data type */ #define ENOTUNIQ 76 /* Name not unique on
network */ #define EBADFD 77 /* File descriptor in bad state */ #define EREMCHG
78 /* Remote address changed */ #define ELIBACC 79 /* Can not access a needed
shared library */ #define ELIBBAD 80 /* Accessing a corrupted shared library */
#define ELIBSCN 81 /* .lib section in a.out corrupted */ #define ELIBMAX 82 /*
Attempting to link in too many shared libraries */ #define ELIBEXEC 83 /*
Cannot exec a shared library directly */ #define EILSEQ 84 /* Illegal byte
sequence */ #define ERESTART 85 /* Interrupted system call should be restarted
*/ #define ESTRPIPE 86 /* Streams pipe error */ #define EUSERS 87 /* Too many
users */ #define ENOTSOCK 88 /* Socket operation on non-socket */ #define
EDESTADDRREQ 89 /* Destination address required */ #define EMSGSIZE 90 /*
Message too long */ #define EPROTOTYPE 91 /* Protocol wrong type for socket */
#define ENOPROTOOPT 92 /* Protocol not available */ #define EPROTONOSUPPORT 93
/* Protocol not supported */ #define ESOCKTNOSUPPORT 94 /* Socket type not
supported */ #define EOPNOTSUPP 95 /* Operation not supported on transport
endpoint */ #define EPFNOSUPPORT 96 /* Protocol family not supported */ #define
EAFNOSUPPORT 97 /* Address family not supported by protocol */ #define
EADDRINUSE 98 /* Address already in use */ #define EADDRNOTAVAIL 99 /* Cannot
assign requested address */ #define ENETDOWN 100 /* Network is down */ #define
ENETUNREACH 101 /* Network is unreachable */ #define ENETRESET 102 /* Network
dropped connection because of reset */ #define ECONNABORTED 103 /* Software
caused connection abort */ #define ECONNRESET 104 /* Connection reset by peer
*/ #define ENOBUFS 105 /* No buffer space available */ #define EISCONN 106 /*
Transport endpoint is already connected */ #define ENOTCONN 107 /* Transport
endpoint is not connected */ #define ESHUTDOWN 108 /* Cannot send after
transport endpoint shutdown */ #define ETOOMANYREFS 109 /* Too many references:
cannot splice */ #define ETIMEDOUT 110 /* Connection timed out */ #define
ECONNREFUSED 111 /* Connection refused */ #define EHOSTDOWN 112 /* Host is down
*/ #define EHOSTUNREACH 113 /* No route to host */ #define EALREADY 114 /*
Operation already in progress */ #define EINPROGRESS 115 /* Operation now in
progress */ #define ESTALE 116 /* Stale NFS file handle */ #define EUCLEAN 117
/* Structure needs cleaning */ #define ENOTNAM 118 /* Not a XENIX named type
file */ #define ENAVAIL 119 /* No XENIX semaphores available */ #define EISNAM
120 /* Is a named type file */ #define EREMOTEIO 121 /* Remote I/O error */
#define EDQUOT 122 /* Quota exceeded */ #define ENOMEDIUM 123 /* No medium
found */ #define EMEDIUMTYPE 124 /* Wrong medium type */ #define ECANCELED 125
/* Operation Canceled */ #define ENOKEY 126 /* Required key not available */
#define EKEYEXPIRED 127 /* Key has expired */ #define EKEYREVOKED 128 /* Key
has been revoked */ #define EKEYREJECTED 129 /* Key was rejected by service */
/* for robust mutexes */ #define EOWNERDEAD 130 /* Owner died */ #define
ENOTRECOVERABLE 131 /* State not recoverable */ #define ERFKILL 132 /*
Operation not possible due to RF-kill */ #define EHWPOISON 133 /* Memory page
has hardware error */

 

技术
©2019-2020 Toolsou All rights reserved,
org.postgresql.util.PSQLException 处理记录Keras训练数据加载实现小结Vue开发小技巧Hackbar 使用教程(精华)2020年6月26日 C#类库 Enum(扩展方法)el-select同时获取label和value值vue-countTo 操作大全npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_0613@1.0.0 dev: 错误的解决方法vue 监听 Treeselect 选择项的改变在vue+element-ui中,select选项值动态从后台获取,同时将选中值的id传给后台的方法