必威电竞|足球世界杯竞猜平台

errno
來(lái)源:互聯(lián)網(wǎng)

errno 是c語(yǔ)言中用于記錄系統(tǒng)最后一次錯(cuò)誤的代碼,它是一個(gè)int類型的值,通常在頭文件errno.h中定義。在Linux C API函數(shù)出現(xiàn)異常時(shí),errno會(huì)被賦予特定的整數(shù)值,這些值對(duì)應(yīng)著不同的錯(cuò)誤類型。程序員可以利用errno來(lái)診斷并解決程序中的問(wèn)題。

使用注意事項(xiàng)

使用errno時(shí)需要注意,只有當(dāng)一個(gè)庫(kù)函數(shù)失敗時(shí),errno才會(huì)被設(shè)置。當(dāng)函數(shù)成功運(yùn)行時(shí),errno的值不會(huì)被修改。因此,不能通過(guò)測(cè)試errno的值來(lái)判斷是否存在錯(cuò)誤,而應(yīng)該在被調(diào)用的函數(shù)提示有錯(cuò)誤發(fā)生時(shí)才去檢查errno的值。

錯(cuò)誤定義

errno的錯(cuò)誤定義可以在/usr/include/asm-generic/errno.h及errno-base.h等頭文件中找到。下面是一些常見的錯(cuò)誤定義及其對(duì)應(yīng)的錯(cuò)誤碼:

常見錯(cuò)誤碼

- EPERM 1 表示操作未授權(quán)

- ENOENT 2 表示找不到指定的文件或目錄

- ESRCH 3 表示找不到指定的進(jìn)程

- EINTR 4 表示中斷了系統(tǒng)調(diào)用

- EIO 5 表示I/O錯(cuò)誤

- ENXIO 6 表示沒有相應(yīng)的設(shè)備或地址

- E2BIG 7 表示參數(shù)列表過(guò)長(zhǎng)

- ENOEXEC 8 表示執(zhí)行格式錯(cuò)誤

- EBADF 9 表示無(wú)效的文件描述符

- ECHILD 10 表示無(wú)子進(jìn)程

- EAGAIN 11 表示資源暫時(shí)不可用

- ENOMEM 12 表示內(nèi)存不足

- EACCES 13 表示權(quán)限受限

- EFAULT 14 表示無(wú)效的指針

- ENOTBLK 15 表示塊設(shè)備請(qǐng)求

- EBUSY 16 表示設(shè)備或資源忙

- EEXIST 17 表示文件已存在

- EXDEV 18 表示跨設(shè)備鏈接

- ENODEV 19 表示不存在的設(shè)備

- ENOTDIR 20 表示不是目錄

- EISDIR 21 表示是目錄

- EINVAL 22 表示無(wú)效的參數(shù)

- ENFILE 23 表示文件表溢出

- EMFILE 24 表示打開的文件過(guò)多

- ENOTTY 25 表示非字符設(shè)備

- ETXTBSY 26 表示文本文件繁忙

- EFBIG 27 表示文件過(guò)大

- ENOSPC 28 表示磁盤空間不足

- ESPIPE 29 表示非法的序列號(hào)

- EROFS 30 表示只讀文件系統(tǒng)

- EMLINK 31 表示鏈接數(shù)過(guò)多

- EPIPE 32 表示管道破裂

- EDOM 33 表示數(shù)學(xué)運(yùn)算超出范圍

- ERANGE 34 表示數(shù)學(xué)計(jì)算結(jié)果無(wú)法表示

- EDEADLK 35 表示資源死鎖

- ENAMETOOLONG 36 表示文件名過(guò)長(zhǎng)

- ENOLCK 37 表示無(wú)可用的鎖

- ENOSYS 38 表示功能未實(shí)現(xiàn)

- ENOTEMPTY 39 表示目錄非空

- ELOOP 40 表示符號(hào)鏈接循環(huán)

- EWOULDBLOCK EAGAIN 表示操作可能阻塞

- ENOMSG 42 表示無(wú)相應(yīng)消息

- EIDRM 43 表示標(biāo)識(shí)符已被移除

- ECHRNG 44 表示通道號(hào)超出范圍

- EL2NSYNC 45 表示第2層未同步

- EL3HLT 46 表示第3層暫停

- EL3RST 47 表示第3層重置

- ELNRNG 48 表示鏈路號(hào)超出范圍

- EUNATCH 49 表示協(xié)議驅(qū)動(dòng)未連接

- ENOCSI 50 表示無(wú)CSI結(jié)構(gòu)

- EL2HLT 51 表示第2層暫停

- EBADE 52 表示無(wú)效交換

- EBADR 53 表示無(wú)效請(qǐng)求描述符

- EXFULL 54 表示交換滿載

- ENOANO 55 表示無(wú)節(jié)點(diǎn)

- EBADRQC 56 表示無(wú)效請(qǐng)求碼

- EBADSLT 57 表示無(wú)效槽位

- EDEADLOCK EDEADLK 表示資源死鎖

- EBFONT 59 表示字體文件格式錯(cuò)誤

- ENOSTR 60 表示設(shè)備非流式

- ENODATA 61 表示無(wú)數(shù)據(jù)可用

- ETIME 62 表示定時(shí)器超時(shí)

- ENOSR 63 表示流資源耗盡

- ENONET 64 表示機(jī)器不在網(wǎng)絡(luò)上

- ENOPKG 65 表示包未安裝

- EREMOTE 66 表示對(duì)象遠(yuǎn)程

- ENOLINK 67 表示鏈接斷開

- EADV 68 表示廣告錯(cuò)誤

- ESRMNT 69 表示srmount錯(cuò)誤

- ECOMM 70 表示發(fā)送通信錯(cuò)誤

- EPROTO 71 表示協(xié)議錯(cuò)誤

- EMULTIHOP 72 表示多跳嘗試

- EDOTDOT 73 表示RFS特定錯(cuò)誤

- EBADMSG 74 表示非數(shù)據(jù)報(bào)文

- EOVERFLOW 75 表示值太大

- ENOTUNIQ 76 表示名稱在網(wǎng)絡(luò)中不唯一

- EBADFD 77 表示文件描述符狀態(tài)不良

- EREMCHG 78 表示遠(yuǎn)程地址變更

- ELIBACC 79 表示無(wú)法訪問(wèn)共享庫(kù)

- ELIBBAD 80 表示訪問(wèn)損壞的共享庫(kù)

- ELIBSCN 81 表示.aout中的.lib節(jié)損壞

- ELIBMAX 82 表示嘗試鏈接太多共享庫(kù)

- ELIBEXEC 83 表示無(wú)法直接執(zhí)行共享庫(kù)

- EILSEQ 84 表示非法字節(jié)序列

- ERESTART 85 表示應(yīng)重啟的中斷系統(tǒng)調(diào)用

- ESTRPIPE 86 表示流管道錯(cuò)誤

- EUSERS 87 表示用戶過(guò)多

- ENOTSOCK 88 表示套接字操作非套接字

- EDESTADDRREQ 89 表示目的地址必需

- EMSGSIZE 90 表示消息長(zhǎng)度不當(dāng)

- EPROTOTYPE 91 表示套接字協(xié)議類型不符

- ENOPROTOOPT 92 表示套接字選項(xiàng)不可用

- EPROTONOSUPPORT 93 表示套接字協(xié)議不受支持

- ESOCKTNOSUPPORT 94 表示套接字類型不受支持

- EOPNOTSUPP 95 表示傳輸端口上的操作不受支持

- EPFNOSUPPORT 96 表示套接字協(xié)議族不受支持

- EAFNOSUPPORT 97 表示地址家族不受套接字協(xié)議支持

- EADDRINUSE 98 表示地址已被占用

- EADDRNOTAVAIL 99 表示無(wú)法分配請(qǐng)求的地址

- ENETDOWN 100 表示網(wǎng)絡(luò)已關(guān)閉

- ENETUNREACH 101 表示網(wǎng)絡(luò)不可達(dá)

- ENETRESET 102 表示網(wǎng)絡(luò)因重置而斷開連接

- ECONNABORTED 103 表示軟件導(dǎo)致的連接終止

- ECONNRESET 104 表示對(duì)端復(fù)位連接

- ENOBUFS 105 表示無(wú)緩沖區(qū)可用

- EISCONN 106 表示傳輸端點(diǎn)已連接

- ENOTCONN 107 表示傳輸端點(diǎn)未連接

- ESHUTDOWN 108 表示無(wú)法在傳輸端點(diǎn)關(guān)閉后發(fā)送

- ETOOMANYREFS 109 表示引用過(guò)多,無(wú)法拼接

- ETIMEDOUT 110 表示連接超時(shí)

- ECONNREFUSED 111 表示連接被拒絕

- EHOSTDOWN 112 表示主機(jī)已下線

- EHOSTUNREACH 113 表示無(wú)法到達(dá)主機(jī)

- EALREADY 114 表示操作正在進(jìn)行

- EINPROGRESS 115 表示操作正在處理中

- ESTALE 116 表示NFS文件句柄已失效

- EUCLEAN 117 表示結(jié)構(gòu)需要清理

- ENOTNAM 118 表示非Xenix命名類型文件

- ENAVAIL 119 表示無(wú)XENIX信號(hào)量可用

- EISNAM 120 表示是命名類型文件

- EREMOTEIO 121 表示遠(yuǎn)程I/O錯(cuò)誤

- EDQUOT 122 表示配額超過(guò)限制

- ENOMEDIUM 123 表示介質(zhì)缺失

- EMEDIUMTYPE 124 表示介質(zhì)類型錯(cuò)誤

- ECANCELED 125 表示操作取消

- ENOKEY 126 表示所需密鑰不可用

- EKEYEXPIRED 127 表示密鑰已過(guò)期

- EKEYREVOKED 128 表示密鑰已被撤銷

- EKEYREJECTED 129 表示密鑰被服務(wù)拒絕

- EOWNERDEAD 130 表示所有者死亡

- ENOTRECOVERABLE 131 表示狀態(tài)不可恢復(fù)

- ERFKILL 132 表示由于RF-kill操作不可能

- EHWPOISON 133 表示硬件頁(yè)有錯(cuò)誤

參考資料 >

errno | C語(yǔ)言errno詳細(xì)說(shuō)明: 記錄最后的錯(cuò)誤代碼.愛問(wèn)知識(shí)人.2024-11-01

C標(biāo)準(zhǔn)庫(kù)errno,perror()和strerror().CSDN博客.2024-11-01

C標(biāo)準(zhǔn)庫(kù)中的 頭文件詳解.脈脈.2024-11-01

生活家百科家居網(wǎng)