【Linux 】errno 错误码对照表和宏|error

目录

错误对照表:

错误码对应宏

根据错误码打印错误信息


原文:Linux errno 错误对照表-https://blog.csdn.net/gpengtao/article/details/7553307

错误码对应宏

EPERM		    1    /* Operation not permitted*/
ENOENT		    2    /* No such file or directory*/
ESRCH		    3    /* No such process*/
EINTR		    4    /* Interrupted system call*/
EIO			    5    /* I/O error*/
ENXIO		    6    /* No such device or address*/
E2BIG 		    7    /* Argument list too long*/
ENOEXEC		    8    /* Exec format error*/
EBADF		    9    /* Bad file number*/
ECHILD 		    10   /* No child processes*/
EAGAIN 	        11   /* Try again*/
ENOMEM		    12   /* Out of memory*/
EACCES		    13   /* Permission denied*/
EFAULT          14   /* Bad address*/
ENOTBLK         15   /* Block device required*/
EBUSY           16   /* Device or resource busy*/
EEXIST          17   /* File exists*/
EXDEV           18   /* Cross-device link*/
ENODEV          19   /* No such device*/
ENOTDIR         20   /* Not a directory*/
EISDIR          21   /* Is a directory*/
EINVAL          22   /* Invalid argument*/
ENFILE          23   /* File table overflow*/
EMFILE          24   /* Too many open files*/
ENOTTY          25   /* Not a typewriter*/
ETXTBSY         26   /* Text file busy*/
EFBIG           27   /* File too large*/
ENOSPC          28   /* No space left on device*/
ESPIPE          29   /* Illegal seek*/
EROFS           30   /* Read-only file system*/
EMLINK          31   /* Too many links*/
EPIPE           32   /* Broken pipe*/
EDOM            33   /* Math argument out of domainof func */
ERANGE          34   /* Math result notrepresentable */
EDEADLK         35   /* Resource deadlock wouldoccur */
ENAMETOOLONG    36   /* File name too long */
ENOLCK          37   /* No record locks available*/
ENOSYS          38   /* Function not implemented*/
ENOTEMPTY       39   /*Directory not empty */
ELOOP           40   /* Too many symbolic linksencountered */
EWOULDBLOCK   EAGAIN /*Operation would block */
ENOMSG          42   /* No message of desired type*/
EIDRM           43   /* Identifier removed*/
ECHRNG          44   /* Channel number out of range*/
EL2NSYNC        45   /* Level2 not synchronized */
EL3HLT          46   /* Level 3 halted*/
EL3RST          47   /* Level 3 reset*/
ELNRNG          48   /* Link number out of range*/
EUNATCH         49   /* Protocol driver notattached */
ENOCSI          50   /* No CSI structure available*/
EL2HLT          51   /* Level 2 halted*/
EBADE           52   /* Invalid exchange*/
EBADR           53   /* Invalid request descriptor*/
EXFULL          54   /* Exchange full*/
ENOANO          55   /* No anode*/
EBADRQC         56   /* Invalid request code*/
EBADSLT         57   /* Invalid slot*/
EDEADLOCK       EDEADLK
EBFONT          59   /* Bad font file format*/
ENOSTR          60   /* Device not a stream*/
ENODATA         61   /* No data available*/
ETIME           62   /* Timer expired*/
ENOSR           63   /* Out of streams resources*/
ENONET          64   /* Machine is not on thenetwork */
ENOPKG          65   /* Package not installed*/
EREMOTE         66   /* Object is remote*/
ENOLINK         67   /* Link has been severed*/
EADV            68   /* Advertise error*/
ESRMNT          69   /* Srmount error*/
ECOMM           70   /* Communication error on send*/
EPROTO          71   /* Protocol error*/
EMULTIHOP       72    /*Multihop attempted */
EDOTDOT         73   /* RFS specific error*/
EBADMSG         74   /* Not a data message*/
EOVERFLOW       75    /* Valuetoo large for defined data type */
ENOTUNIQ        76    /* Namenot unique on network */
EBADFD          77   /* File descriptor in badstate */
EREMCHG         78   /* Remote address changed*/
ELIBACC         79   /* Can not access a neededshared library */
ELIBBAD         80   /* Accessing a corruptedshared library */
ELIBSCN         81   /* .lib section in a.outcorrupted */
ELIBMAX         82   /* Attempting to link in toomany shared libraries */
ELIBEXEC        83   /* Cannotexec a shared library directly */
EILSEQ          84   /* Illegal byte sequence*/
ERESTART        85   /*Interrupted system call should be restarted */
ESTRPIPE        86   /*Streams pipe error */
EUSERS          87   /* Too many users*/
ENOTSOCK        88   /* Socketoperation on non-socket */
EDESTADDRREQ    89   /* Destination address required*/
EMSGSIZE        90   /*Message too long */
EPROTOTYPE      91   /*Protocol wrong type for socket */
ENOPROTOOPT     92   /*Protocol not available */
EPROTONOSUPPORT 93   /* Protocol not supported */
ESOCKTNOSUPPORT 94   /* Socket type not supported*/
EOPNOTSUPP      95   /*Operation not supported on transport endpoint*/
EPFNOSUPPORT    96   /* Protocol family not supported*/
EAFNOSUPPORT    97   /* Address family not supported by protocol*/
EADDRINUSE      98   /*Address already in use */
EADDRNOTAVAIL   99   /* Cannot assign requested address*/
ENETDOWN        100  /*Network is down */
ENETUNREACH     101  /*Network is unreachable */
ENETRESET       102  /*Network dropped connection because of reset */
ECONNABORTED    103  /* Software caused connection abort*/
ECONNRESET      104  /*Connection reset by peer */
ENOBUFS         105  /* No buffer space available*/
EISCONN         106  /* Transport endpoint isalready connected */
ENOTCONN        107  /*Transport endpoint is not connected */
ESHUTDOWN       108  /*Cannot send after transport endpoint shutdown*/
ETOOMANYREFS    109  /* Too many references: cannot splice*/
ETIMEDOUT       110  /*Connection timed out */
ECONNREFUSED    111  /* Connection refused */
EHOSTDOWN       112  /* Hostis down */
EHOSTUNREACH    113  /* No route to host */
EALREADY        114  /*Operation already in progress */
EINPROGRESS     115  /*Operation now in progress */
ESTALE          116  /* Stale NFS file handle*/
EUCLEAN         117  /* Structure needs cleaning*/
ENOTNAM         118  /* Not a XENIX named type file*/
ENAVAIL         119  /* No XENIX semaphoresavailable */
EISNAM          120  /* Is a named type file*/
EREMOTEIO       121  /*Remote I/O error */
EDQUOT          122  /* Quota exceeded*/
ENOMEDIUM       123  /* Nomedium found */
EMEDIUMTYPE     124  /* Wrongmedium type */
ECANCELED       125  /*Operation Canceled */
ENOKEY          126  /* Required key not available*/
EKEYEXPIRED     127  /* Keyhas expired */
EKEYREVOKED     128  /* Keyhas been revoked */
EKEYREJECTED    129  /* Key was rejected by service*/


errno0 :     Success
errno1 :     Operation not permitted
errno2 :     No such file or directory
errno3 :     No such process
errno4 :     Interrupted system call
errno5 :     Input/output error
errno6 :     No such device or address
errno7 :     Argument list too long
errno8 :     Exec format error
errno9 :     Bad file descriptor
errno10 :    No child processes
errno11 :    Resource temporarily unavailable
errno12 :    Cannot allocate memory
errno13 :    Permission denied
errno14 :    Bad address
errno15 :    Block device required
errno16 :    Device or resource busy
errno17 :    File exists
errno18 :    Invalid cross-device link
errno19 :    No such device
errno20 :    Not a directory
errno21 :    Is a directory
errno22 :    Invalid argument
errno23 :    Too many open files in system
errno24 :    Too many open files
errno25 :    Inappropriate ioctl for device
errno26 :    Text file busy
errno27 :    File too large
errno28 :    No space left on device
errno29 :    Illegal seek
errno30 :    Read-only file system
errno31 :    Too many links
errno32 :    Broken pipe
errno33 :    Numerical argument out of domain
errno34 :    Numerical result out of range
errno35 :    Resource deadlock avoided
errno36 :    File name too long
errno37 :    No locks available
errno38 :    Function not implemented
errno39 :    Directory not empty
errno40 :    Too many levels of symbolic links
errno41 :    Unknown error 41
errno42 :    No message of desired type
errno43 :    Identifier removed
errno44 :    Channel number out of range
errno45 :    Level 2 not synchronized
errno46 :    Level 3 halted
errno47 :    Level 3 reset
errno48 :    Link number out of range
errno49 :    Protocol driver not attached
errno50 :    No CSI structure available
errno51 :    Level 2 halted
errno52 :    Invalid exchange
errno53 :    Invalid request descriptor
errno54 :    Exchange full
errno55 :    No anode
errno56 :    Invalid request code
errno57 :    Invalid slot
errno58 :    Unknown error 58
errno59 :    Bad font file format
errno60 :    Device not a stream
errno61 :    No data available
errno62 :    Timer expired
errno63 :    Out of streams resources
errno64 :    Machine is not on the network
errno65 :    Package not installed
errno66 :    Object is remote
errno67 :    Link has been severed
errno68 :    Advertise error
errno69 :    Srmount error
errno70 :    Communication error on send
errno71 :    Protocol error
errno72 :    Multihop attempted
errno73 :    RFS specific error
errno74 :    Bad message
errno75 :    Value too large for defined datatype
errno76 :    Name not unique on network
errno77 :    File descriptor in bad state
errno78 :    Remote address changed
errno79 :    Can not access a needed sharedlibrary
errno80 :    Accessing a corrupted sharedlibrary
errno81 :    .lib section in a.out corrupted
errno82 :    Attempting to link in too manyshared libraries
errno83 :    Cannot exec a shared librarydirectly
errno84 :    Invalid or incomplete multibyte orwide character
errno85 :    Interrupted system call should berestarted
errno86 :    Streams pipe error
errno87 :    Too many users
errno88 :    Socket operation on non-socket
errno89 :    Destinationaddress required
errno90 :    Message too long
errno91 :    Protocol wrong type for socket
errno92 :    Protocol not available
errno93 :    Protocol not supported
errno94 :    Socket type not supported
errno95 :    Operation not supported
errno96 :    Protocol family not supported
errno97 :    Address family not supported byprotocol
errno98 :    Address already in use
errno99 :    Cannot assign requested address
errno100 :   Network is down
errno101 :   Network is unreachable
errno102 :   Network dropped connection onreset
errno103 :   Software caused connection abort
errno104 :   Connection reset by peer
errno105 :   No buffer space available
errno106 :   Transport endpoint is alreadyconnected
errno107 :   Transport endpoint is notconnected
errno108 :   Cannot send after transportendpoint shutdown
errno109 :   Too many references: cannot splice
errno110 :   Connection timed out
errno111 :   Connection refused
errno112 :   Host is down
errno113 :   No route to host
errno114 :   Operation already in progress
errno115 :   Operation now in progress
errno116 :   Stale NFS file handle
errno117 :   Structure needs cleaning
errno118 :   Not a XENIX named type file
errno119 :   No XENIX semaphores available
errno120 :   Is a named type file
errno121 :   Remote I/O error
errno122 :   Disk quota exceeded
errno123 :   No medium found
errno124 :   Wrong medium type
errno125 :   Operation canceled
errno126 :   Required key not available
errno127 :   Key has expired
errno128 :   Key has been revoked
errno129 :   Key was rejected by service
errno130 :   Owner died
errno131 :   State not recoverable
errno132 :   Operation not possible due toRF-kill
errno133 :   Unknown error 133
errno134 :   Unknown error 134
errno135 :   Unknown error 135
errno136 :   Unknown error 136
errno137 :   Unknown error 137
errno138 :   Unknown error 138
errno139 :   Unknown error 139

根据错误码打印错误信息

errno 在 <errno.h> 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的  errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。

strerror() 函数依据 errno 值返回错误描述字符串,下面程序打印对照表:

#include <errno.h>
#include <string.h>
#include <stdio.h>
 
int main()
{
    int i;
    for(i = 0; i < 140; ++i)
    {
        errno = i;
        printf("errno %d :\t\t%s\n",i,strerror(errno));
    }
    return 0;
}


版权声明:本文为CSDN博主「gxinqing」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gpengtao/article/details/7553307

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 PHP 中,curl 错误号是通过 curl_errno 函数来获取的,具体对应关系如下: - 0:没有错误发生 - 1:CURLE_UNSUPPORTED_PROTOCOL(不支持的协议) - 2:CURLE_FAILED_INIT(初始化失败) - 3:CURLE_URL_MALFORMAT(URL 格式错误) - 4:CURLE_URL_MALFORMAT_USER(URL 格式错误) - 5:CURLE_COULDNT_RESOLVE_PROXY(无法解析代理) - 6:CURLE_COULDNT_RESOLVE_HOST(无法解析主机) - 7:CURLE_COULDNT_CONNECT(无法连接) - 8:CURLE_FTP_WEIRD_SERVER_REPLY(FTP 服务器返回异常) - 9:CURLE_REMOTE_ACCESS_DENIED(访问被拒绝) - 11:CURLE_FTP_WEIRD_PASS_REPLY(FTP 密码返回异常) - 13:CURLE_FTP_WEIRD_PASV_REPLY(FTP PASV 返回异常) - 14:CURLE_FTP_WEIRD_227_FORMAT(FTP 227 返回格式异常) - 15:CURLE_FTP_CANT_GET_HOST(FTP 无法获取主机) - 17:CURLE_FTP_COULDNT_SET_TYPE(FTP 无法设置传输类型) - 18:CURLE_PARTIAL_FILE(部分文件下载) - 19:CURLE_FTP_COULDNT_RETR_FILE(FTP 无法获取文件) - 20:CURLE_QUOTE_ERROR(FTP 命令错误) - 21:CURLE_HTTP_RETURNED_ERROR(HTTP 返回错误) - 22:CURLE_WRITE_ERROR(写入错误) - 23:CURLE_UPLOAD_FAILED(上传失败) - 25:CURLE_UPLOAD_FAILED(远程服务器不支持请求的FTP操作) - 26:CURLE_READ_ERROR(读取错误) - 27:CURLE_OUT_OF_MEMORY(内存不足) - 28:CURLE_OPERATION_TIMEDOUT(操作超时) - 30:CURLE_FTP_PORT_FAILED(FTP 端口失败) - 31:CURLE_FTP_COULDNT_USE_REST(FTP 无法使用 REST 命令) - 33:CURLE_RANGE_ERROR(服务器不支持或无法满足 Range 请求头字段) - 34:CURLE_HTTP_POST_ERROR(HTTP POST 错误) - 35:CURLE_SSL_CONNECT_ERROR(SSL 连接错误) - 36:CURLE_BAD_DOWNLOAD_RESUME(下载恢复错误) - 37:CURLE_FILE_COULDNT_READ_FILE(无法读取文件) - 38:CURLE_LDAP_CANNOT_BIND(LDAP 无法绑定) - 39:CURLE_LDAP_SEARCH_FAILED(LDAP 搜索失败) - 41:CURLE_FUNCTION_NOT_FOUND(找不到指定的函数) - 42:CURLE_ABORTED_BY_CALLBACK(被回调函数中止) - 43:CURLE_BAD_FUNCTION_ARGUMENT(调用函数时传入了不正确的参数) - 45:CURLE_INTERFACE_FAILED(CURL 接口失败) - 47:CURLE_TOO_MANY_REDIRECTS(重定向次数过多) - 48:CURLE_UNKNOWN_OPTION(未知选项) - 49:CURLE_TELNET_OPTION_SYNTAX(TELNET 选项语法错误) - 51:CURLE_PEER_FAILED_VERIFICATION(SSL 证书验证失败) - 52:CURLE_GOT_NOTHING(没有收到数据) - 53:CURLE_SSL_ENGINE_NOTFOUND(SSL 引擎未找到) - 54:CURLE_SSL_ENGINE_SETFAILED(SSL 引擎设置失败) - 55:CURLE_SEND_ERROR(发送数据错误) - 56:CURLE_RECV_ERROR(接收数据错误) - 58:CURLE_SSL_CERTPROBLEM(SSL 证书问题) - 59:CURLE_SSL_CIPHER(SSL 密码问题) - 60:CURLE_SSL_CACERT(SSL CA 证书问题) - 61:CURLE_BAD_CONTENT_ENCODING(不支持的内容编码) - 62:CURLE_LDAP_INVALID_URL(LDAP URL 无效) - 63:CURLE_FILESIZE_EXCEEDED(文件大小超出限制) - 64:CURLE_USE_SSL_FAILED(使用 SSL 失败) - 65:CURLE_SEND_FAIL_REWIND(发送失败,需要回滚) - 66:CURLE_SSL_ENGINE_INITFAILED(SSL 引擎初始化失败) - 67:CURLE_LOGIN_DENIED(登录被拒绝) - 68:CURLE_TFTP_NOTFOUND(TFTP 文件未找到) - 69:CURLE_TFTP_PERM(TFTP 权限问题) - 70:CURLE_REMOTE_DISK_FULL(远程磁盘已满) - 71:CURLE_TFTP_ILLEGAL(TFTP 操作非法) - 72:CURLE_TFTP_UNKNOWNID(TFTP 未知 ID) - 73:CURLE_REMOTE_FILE_EXISTS(远程文件已存在) - 74:CURLE_TFTP_NOSUCHUSER(TFTP 用户不存在) - 75:CURLE_CONV_FAILED(字符转换失败) - 76:CURLE_CONV_REQD(需要字符转换) - 77:CURLE_SSL_CACERT_BADFILE(SSL CA 证书文件格式错误) - 78:CURLE_REMOTE_FILE_NOT_FOUND(远程文件未找到) - 79:CURLE_SSH(SSH 错误) - 80:CURLE_SSL_SHUTDOWN_FAILED(SSL 关闭失败) - 81:CURLE_AGAIN(请求被中止,需要重试) - 82:CURLE_SSL_CRL_BADFILE(SSL CRL 文件格式错误) - 83:CURLE_SSL_ISSUER_ERROR(SSL 发行人错误) - 84:CURLE_FTP_PRET_FAILED(FTP PRET 命令失败) - 85:CURLE_RTSP_CSEQ_ERROR(RTSP CSEQ 错误) - 86:CURLE_RTSP_SESSION_ERROR(RTSP 会话错误) - 87:CURLE_FTP_BAD_FILE_LIST(FTP 文件列表错误) - 88:CURLE_CHUNK_FAILED(传输块失败) - 89:CURLE_NO_CONNECTION_AVAILABLE(没有可用的连接) - 90:CURLE_SSL_PINNEDPUBKEYNOTMATCH(SSL 锁定的公钥不匹配) - 91:CURLE_SSL_INVALIDCERTSTATUS(SSL 证书状态无效) - 92:CURLE_HTTP2_STREAM(HTTP2 流错误) - 93:CURLE_RECURSIVE_API_CALL(递归 API 调用) - 94:CURLE_AUTH_ERROR(身份验证错误) - 95:CURLE_HTTP3(HTTP3 错误) 希望这些信息对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值