Gestione degli errori

Per gestire gli errori, Kongalib definisce una classe Log e due eccezioni: Error e ErrorList.

Classe Log

class kongalib.Log(title='')

La classe Log serve ad immagazzinare i messaggi prodotti dal server durante un’operazione; oggetti di questa classe vengono popolati durante le chiamate asincrone della classe Client.

Eccezione Error

class kongalib.Error(errno, msg)

Rappresenza un errore generico generato dal server Konga. Eccezioni di questo tipo hanno due attributi:

errno

Codice identificativo dell’errore

error

Stringa che descrive l’errore

Eccezione ErrorList

class kongalib.ErrorList(errors=None)

Rappresenza una lista di errori generati dal server Konga. Eccezioni di questo tipo hanno tre attributi:

errno

Codice identificativo dell’ultimo errore

error

Stringa che descrive l’ultimo errore

errors

Lista degli errori, in cui ogni errore è una tupla nella forma (type, errno, prefix, error); type è uno tra Log.INFO, Log.WARNING e Log.ERROR; errno ed error sono il codice e la descrizione dell’errore, e prefix un eventuale prefisso che identifica il contesto dell’errore.

Codici di errore

Sono definite le seguenti costanti di errore che possono apparire nell’attributo Error.errno o ErrorList.errno. Da notare che queste costanti sono definite anche nel modulo kongalib.

Nota

Ulteriori codici di errore che non sono riportati qui di seguito potranno essere riportati da Konga.

kongalib.constants.OK = 0

Nessun errore

kongalib.constants.ERROR = -1

Errore generico

kongalib.constants.INTERNAL_ERROR = 1

Errore interno

kongalib.constants.OUT_OF_MEMORY = 2

Memoria esaurita

kongalib.constants.ACCESS_DENIED = 3

Accesso negato

kongalib.constants.TIMED_OUT = 4

Tempo scaduto

kongalib.constants.INTERRUPTED = 5

Operazione interrotta

kongalib.constants.NOT_INITIALIZED = 6

Oggetto non inizializzato

kongalib.constants.ABORTED = 7

Operazione annullata

kongalib.constants.TOO_MANY_OPEN_FILES = 8

Troppi file aperti

kongalib.constants.FILE_NOT_FOUND = 9

File non trovato

kongalib.constants.IO_ERROR = 10

Errore di input/output

kongalib.constants.FILE_EXISTS = 11

Il file già esiste

kongalib.constants.RESOURCE_UNAVAILABLE = 12

La risorsa non è disponibile

kongalib.constants.DISK_FULL = 13

Disco pieno

kongalib.constants.WOULD_BLOCK = 14

L’operazione sarebbe bloccante

kongalib.constants.INVALID_RESOURCE = 15

Risorsa non valida

kongalib.constants.BROKEN_PIPE = 16

Pipe terminata

kongalib.constants.CANNOT_CREATE_SOCKET = 100

Impossibile creare il socket

kongalib.constants.PROTOCOL_NOT_SUPPORTED = 101

Protocollo non supportato

kongalib.constants.BAD_ADDRESS = 102

Indirizzo dell’host non valido

kongalib.constants.CONNECTION_REFUSED = 103

Connessione rifiutata

kongalib.constants.NETWORK_IS_UNREACHABLE = 104

La rete non è raggiungibile

kongalib.constants.HOST_IS_UNREACHABLE = 105

L’host non è raggiungibile

kongalib.constants.ADDRESS_ALREADY_IN_USE = 106

Indirizzo già in uso

kongalib.constants.CANNOT_CONNECT = 107

Impossibile connettersi

kongalib.constants.CANNOT_CONFIGURE_SOCKET = 108

Impossibile configurare il socket

kongalib.constants.CANNOT_BIND_SOCKET = 109

Impossibile effettuare il bind del socket

kongalib.constants.CANNOT_LISTEN_SOCKET = 110

Impossibile mettere il socket in ascolto

kongalib.constants.WINSOCK_VERSION_NOT_SUPPORTED = 111

Versione di Winsock non supportata

kongalib.constants.ERROR_READING_SOCKET = 112

Errore in lettura dal socket

kongalib.constants.ERROR_WRITING_SOCKET = 113

Errore in scrittura sul socket

kongalib.constants.NOT_CONNECTED = 114

Non connesso

kongalib.constants.CONNECTION_LOST = 115

La connessione è stata persa

kongalib.constants.ALREADY_CONNECTED = 116

Connessione già stabilita

kongalib.constants.BAD_SOCKET = 117

Socket non valido

kongalib.constants.NO_NICS_FOUND = 118

Nessuna interfaccia di rete trovata

kongalib.constants.BAD_REQUEST = 200

Richiesta di esecuzione non valida

kongalib.constants.BAD_REPLY = 201

Risposta dal server non valida

kongalib.constants.NOT_AUTHORIZED = 202

Autorizzazione fallita

kongalib.constants.AUTHORIZATION_DATA_TOO_BIG = 203

Dati di autorizzazione troppo grandi

kongalib.constants.EXECUTE_FAILED = 204

La richiesta di esecuzione è fallita sul server

kongalib.constants.EXECUTE_ABORTED = 205

Richiesta di esecuzione annullata dall’utente

kongalib.constants.LISTENER_PORT_UNAVAILABLE = 206

Porta di ascolto non disponibile

kongalib.constants.RESPONDER_PORT_UNAVAILABLE = 207

Porta di risposta non disponibile

kongalib.constants.CLIENT_NOT_FOUND = 208

Client ID non trovato

kongalib.constants.SKIP_REQUEST = 209

Non registrare la richiesta al server

kongalib.constants.OK_NO_TRANSACTION = 212

Completa la richiesta con successo senza commit/rollback di transazione

kongalib.constants.ARCHIVE_NOT_FOUND = 300

Archivio non trovato

kongalib.constants.MALFORMED_RESOURCE_INDEX = 301

Indice delle risorse non valido nell’archivio

kongalib.constants.MALFORMED_RESOURCE_DEFINITION = 302

Definizione della risorsa non valida

kongalib.constants.CANNOT_FIND_RESOURCE_IN_ARCHIVE = 303

Risorsa non trovata nell’archivio

kongalib.constants.CANNOT_READ_RESOURCE = 304

Impossibile leggere la risorsa

kongalib.constants.CONFLICTING_RESOURCE_FILE_NAME = 305

Il nome del file di risorsa è in conflitto con un altro file nell’archivio

kongalib.constants.CANNOT_WRITE_RESOURCE = 306

Impossibile scrivere la risorsa

kongalib.constants.ARCHIVE_NOT_LOADED = 307

Archivio non caricato

kongalib.constants.BAD_STREAM = 400

Flusso dati corrotto

kongalib.constants.END_STREAM = 401

Flusso dati terminato

kongalib.constants.NO_MATCH = 500

Nessun risultato