1 #ifndef CORELIB___NCBIERROR__HPP
2 #define CORELIB___NCBIERROR__HPP
58 eAddressFamilyNotSupported = EAFNOSUPPORT,
59 eAddressInUse = EADDRINUSE,
60 eAddressNotAvailable = EADDRNOTAVAIL,
61 eAlreadyConnected = EISCONN,
62 eArgumentListTooLong = E2BIG,
63 eArgumentOutOfDomain = EDOM,
65 eBadFileDescriptor = EBADF,
66 eBadMessage = EBADMSG,
68 eConnectionAborted = ECONNABORTED,
69 eConnectionAlreadyInProgress = EALREADY,
70 eConnectionRefused = ECONNREFUSED,
71 eConnectionReset = ECONNRESET,
72 eCrossDeviceLink = EXDEV,
73 eDestinationAddressRequired = EDESTADDRREQ,
74 eDeviceOrResourceBusy = EBUSY,
75 eDirectoryNotEmpty = ENOTEMPTY,
76 eExecutableFormatError = ENOEXEC,
78 eFileTooLarge = EFBIG,
79 eFilenameTooLong = ENAMETOOLONG,
80 eFunctionNotSupported = ENOSYS,
81 eHostUnreachable = EHOSTUNREACH,
82 eIdentifierRemoved = EIDRM,
84 eInappropriateIoControlOperation= ENOTTY,
86 eInvalidArgument = EINVAL,
87 eInvalidSeek = ESPIPE,
89 eIsADirectory = EISDIR,
90 eMessageSize = EMSGSIZE,
91 eNetworkDown = ENETDOWN,
92 eNetworkReset = ENETRESET,
93 eNetworkUnreachable = ENETUNREACH,
94 eNoBufferSpace = ENOBUFS,
95 eNoChildProcess = ECHILD,
97 eNoLockAvailable = ENOLCK,
100 eNoProtocolOption = ENOPROTOOPT,
101 eNoSpaceOnDevice = ENOSPC,
103 eNoSuchDeviceOrAddress = ENXIO,
104 eNoSuchDevice = ENODEV,
105 eNoSuchFileOrDirectory = ENOENT,
106 eNoSuchProcess = ESRCH,
107 eNotADirectory = ENOTDIR,
108 eNotASocket = ENOTSOCK,
110 eNotConnected = ENOTCONN,
111 eNotEnoughMemory = ENOMEM,
112 eNotSupported = ENOTSUP,
113 eOperationCanceled = ECANCELED,
114 eOperationInProgress = EINPROGRESS,
115 eOperationNotPermitted = EPERM,
116 eOperationNotSupported = EOPNOTSUPP,
117 eOperationWouldBlock = EWOULDBLOCK,
119 ePermissionDenied = EACCES,
120 eProtocolError = EPROTO,
121 eProtocolNotSupported = EPROTONOSUPPORT,
122 eReadOnlyFileSystem = EROFS,
123 eResourceDeadlockWouldOccur = EDEADLK,
124 eResourceUnavailableTryAgain = EAGAIN,
125 eResultOutOfRange = ERANGE,
128 eTextFileBusy = ETXTBSY,
129 eTimedOut = ETIMEDOUT,
130 eTooManyFilesOpenInSystem = ENFILE,
131 eTooManyFilesOpen = EMFILE,
132 eTooManyLinks = EMLINK,
133 eTooManySymbolicLinkLevels = ELOOP,
134 eValueTooLarge = EOVERFLOW,
135 eWrongProtocolType = EPROTOTYPE,
151 ECode
Code(
void)
const;
170 : m_Code(err.m_Code),
171 m_Category(err.m_Category),
172 m_Native(err.m_Native),
189 return Code() == err;
210 static void Set(
ECode code,
const char* extra);
212 static void Set(
ECode code,
const string& extra);
214 static void Set(
ECode code,
string&& extra);
222 static void SetErrno(
int errno_code);
224 static void SetErrno(
int errno_code,
const CTempString extra);
226 static void SetErrno(
int errno_code,
const string& extra);
228 static void SetErrno(
int errno_code,
const char* extra);
230 static void SetErrno(
int errno_code,
string&& extra);
236 static void SetFromErrno(
void);
240 static void SetFromErrno(
const string& extra);
242 static void SetFromErrno(
const char* extra);
244 static void SetFromErrno(
string&& extra);
246 #if defined(NCBI_OS_MSWIN)
256 static void SetWindowsError(
int native_err_code);
258 static void SetWindowsError(
int native_err_code,
const CTempString extra);
260 static void SetWindowsError(
int native_err_code,
const string& extra);
262 static void SetWindowsError(
int native_err_code,
const char* extra);
264 static void SetWindowsError(
int native_err_code,
string&& extra);
273 static void SetFromWindowsError(
void);
275 static void SetFromWindowsError(
const CTempString extra);
277 static void SetFromWindowsError(
const string& extra);
279 static void SetFromWindowsError(
const char* extra);
281 static void SetFromWindowsError(
string&& extra);
291 static CNcbiError* x_Init(
int err_code, Ty extra);
293 static void x_SetWindowsCodeCategory(
CNcbiError* e);
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
bool operator==(const CEquivRange &A, const CEquivRange &B)
static const char * str(char *buf, int n)
ECategory Category(void) const
Get error code category.
const string & Extra(void) const
Get string information provided when this error was set.
DECLARE_OPERATOR_BOOL(Code() !=eSuccess)
Operator bool: returns TRUE if error was not set to "success".
CNcbiError(const CNcbiError &err)
Copy constructor.
int Native(void) const
Get native numeric value of the error.
ECategory
Error code category.
CNcbiOstream & operator<<(CNcbiOstream &str, const CNcbiError &err)
Serialize error code + description provided by OS + extra string data.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
#define NCBI_XNCBI_EXPORT
Miscellaneous common-use basic types and functionality.
@ eSuccess
Successfully retrieved.