Linux下c++之常见错误代码errno(退而结网法)
1.关于
还在到处找 errno对应的含义? 自己动手,很方便可找到其明确的含义
2. 动手
- 2.1 创建 c++源文件,输入下面的代码:
#pragma once
#include <iostream>
#include <fstream>
#include <errno.h>
#include <string.h>
using namespace std;
int main(int argc, char *argv[])
{
cout << "it is starting.....\n\n\n";
ofstream out_file;
out_file.open("errno.txt", ios::out | ios::trunc );
for (int i = 0; i < 135; i++)
{
out_file << "errno=" << i << ", " << strerror(i) << endl;
}
out_file.close();
cout << "it ended .....\n\n\n";
return 0;
}
- 2.2 编译输出结果, 一个例子,我这里输出的是 main可执行程序,执行main即可
- 2.3 为什么到135?后面都是unknow error了
3.errno常见错误定义
errno=0, Success
errno=1, Operation not permitted
errno=2, No such file or directory
errno=3, No such process
errno=4, Interrupted system call
errno=5, Input/output error
errno=6, No such device or address
errno=7, Argument list too long
errno=8, Exec format error
errno=9, Bad file descriptor
errno=10, No child processes
errno=11, Resource temporarily unavailable
errno=12, Cannot allocate memory
errno=13, Permission denied
errno=14, Bad address
errno=15, Block device required
errno=16, Device or resource busy
errno=17, File exists
errno=18, Invalid cross-device link
errno=19, No such device
errno=20, Not a directory
errno=21, Is a directory
errno=22, Invalid argument
errno=23, Too many open files in system
errno=24, Too many open files
errno=25, Inappropriate ioctl for device
errno=26, Text file busy
errno=27, File too large
errno=28, No space left on device
errno=29, Illegal seek
errno=30, Read-only file system
errno=31, Too many links
errno=32, Broken pipe
errno=33, Numerical argument out of domain
errno=34, Numerical result out of range
errno=35, Resource deadlock avoided
errno=36, File name too long
errno=37, No locks available
errno=38, Function not implemented
errno=39, Directory not empty
errno=40, Too many levels of symbolic links
errno=41, Unknown error 41
errno=42, No message of desired type
errno=43, Identifier removed
errno=44, Channel number out of range
errno=45, Level 2 not synchronized
errno=46, Level 3 halted
errno=47, Level 3 reset
errno=48, Link number out of range
errno=49, Protocol driver not attached
errno=50, No CSI structure available
errno=51, Level 2 halted
errno=52, Invalid exchange
errno=53, Invalid request descriptor
errno=54, Exchange full
errno=55, No anode
errno=56, Invalid request code
errno=57, Invalid slot
errno=58, Unknown error 58
errno=59, Bad font file format
errno=60, Device not a stream
errno=61, No data available
errno=62, Timer expired
errno=63, Out of streams resources
errno=64, Machine is not on the network
errno=65, Package not installed
errno=66, Object is remote
errno=67, Link has been severed
errno=68, Advertise error
errno=69, Srmount error
errno=70, Communication error on send
errno=71, Protocol error
errno=72, Multihop attempted
errno=73, RFS specific error
errno=74, Bad message
errno=75, Value too large for defined data type
errno=76, Name not unique on network
errno=77, File descriptor in bad state
errno=78, Remote address changed
errno=79, Can not access a needed shared library
errno=80, Accessing a corrupted shared library
errno=81, .lib section in a.out corrupted
errno=82, Attempting to link in too many shared libraries
errno=83, Cannot exec a shared library directly
errno=84, Invalid or incomplete multibyte or wide character
errno=85, Interrupted system call should be restarted
errno=86, Streams pipe error
errno=87, Too many users
errno=88, Socket operation on non-socket
errno=89, Destination address required
errno=90, Message too long
errno=91, Protocol wrong type for socket
errno=92, Protocol not available
errno=93, Protocol not supported
errno=94, Socket type not supported
errno=95, Operation not supported
errno=96, Protocol family not supported
errno=97, Address family not supported by protocol
errno=98, Address already in use
errno=99, Cannot assign requested address
errno=100, Network is down
errno=101, Network is unreachable
errno=102, Network dropped connection on reset
errno=103, Software caused connection abort
errno=104, Connection reset by peer
errno=105, No buffer space available
errno=106, Transport endpoint is already connected
errno=107, Transport endpoint is not connected
errno=108, Cannot send after transport endpoint shutdown
errno=109, Too many references: cannot splice
errno=110, Connection timed out
errno=111, Connection refused
errno=112, Host is down
errno=113, No route to host
errno=114, Operation already in progress
errno=115, Operation now in progress
errno=116, Stale file handle
errno=117, Structure needs cleaning
errno=118, Not a XENIX named type file
errno=119, No XENIX semaphores available
errno=120, Is a named type file
errno=121, Remote I/O error
errno=122, Disk quota exceeded
errno=123, No medium found
errno=124, Wrong medium type
errno=125, Operation canceled
errno=126, Required key not available
errno=127, Key has expired
errno=128, Key has been revoked
errno=129, Key was rejected by service
errno=130, Owner died
errno=131, State not recoverable
errno=132, Operation not possible due to RF-kill
errno=133, Memory page has hardware error
errno=134, Unknown error 134