Exceptions in pynng¶
pynng translates all of NNG error codes into Python Exceptions. The root
exception of the hierarchy is the NNGException
; NNGException
inherits
from Exception, and all other exceptions defined in this library inherit from
NNGException
.
The following table describes all the exceptions defined by pynng. The first
column is the name of the exception in pynng (defined in pynng.exceptions
),
the second is the nng error code (defined in nng.h
), and the third is a
description of the exception.
pynng Exception | nng error code | Description |
---|---|---|
Interrupted |
NNG_EINTR |
The call was interrupted; if this happens, Python may throw a KeyboardInterrupt. (I’m not sure if this is an exception you can even get with these bindings) |
NoMemory |
NNG_ENOMEM |
Not enough memory to complete the operation. |
InvalidOperation |
NNG_EINVAL |
An invalid operation was requested on the resource. |
Busy |
NNG_EBUSY |
|
Timeout |
NNG_ETIMEDOUT |
The operation timed out. Some operations
cannot time out; an example that cannot time
out is a send() on a Pub0 socket |
ConnectionRefused |
NNG_ECONNREFUSED |
The remote socket refused a connection. |
Closed |
NNG_ECLOSED |
The resource was already closed and cannot complete the requested operation. |
TryAgain |
NNG_EAGAIN |
The requested operation would block, but non-blocking mode was requested. |
NotSupported |
NNG_ENOTSUP |
The operation is not supported on the socket.
For example, attempting to send on a
Sub0 socket will raise this. |
AddressInUse |
NNG_EADDRINUSE |
The requested address is already in use and
cannot be bound to. This happens if multiple
sockets attempt to listen() at the same
address. |
BadState |
NNG_ESTATE |
An operation was attempted in a bad state; for
example, attempting to recv() twice in a
row of a single Req0 socket. |
NoEntry |
NNG_ENOENT |
The requested resource does not exist. |
ProtocolError |
NNG_EPROTO |
|
DestinationUnreachable |
NNG_EUNREACHABLE |
Could not reach the destination. |
AddressInvalid |
NNG_EADDRINVAL |
An invalid address was specified. For example,
attempting to listen on "tcp://127.0.0.1:-1"
will throw. |
PermissionDenied |
NNG_EPERM |
You did not have permission to do the requested operation. |
MessageTooLarge |
NNG_EMSGSiZE |
|
ConnectionReset |
NNG_ECONNRESET |
|
ConnectionAborted |
NNG_ECONNABORTED |
|
Canceled |
NNG_ECANCELED |
|
OutOfFiles |
NNG_ENOFILES |
|
OutOfSpace |
NNG_ENOSPC |
|
AlreadyExists |
NNG_EEXIST |
|
ReadOnly |
NNG_EREADONLY |
|
WriteOnly |
NNG_EWRITEONLY |
|
CryptoError |
NNG_ECRYPTO |
|
AuthenticationError |
NNG_EPEERAUTH |
|
NoArgument |
NNG_ENOARG |
|
Ambiguous |
NNG_EAMBIGUOUS |
|
BadType |
NNG_EBADTYPE |
|
Internal |
NNG_EINTERNAL |