3.20.2 Filtro degli avvertimenti

Il filtro controlla se gli avvertimenti devono essere ignorati, stampati, o considerati errori (sollevando un'eccezione).

Concettualmente, il filtro mantiene una lista ordinata di specificazioni; ciascun avvertimento viene confrontato con ogni filtro della lista delle specificazioni fino a che non viene trovata una corrispondenza; la corrispondenza ne determina la tipologia. Ogni elemento della lista è una tupla della forma (action, message, category, module, lineno), dove:

Poiché la classe Warning deriva dalla classe built-in Exception, per modificare un avvertimento in un errore sollevate semplicemente la categoria category(message).

Il filtro degli avvertimenti viene inizializzato dall'opzione -W passata alla riga di comando dell'interprete Python. L'interprete salva gli argomenti per tutte le opzioni -W senza interpretarle in sys.warnoptions; il modulo warnings li interpreta alla loro prima importazione (le opzioni non valide vengono ignorate, dopo la stampa di un messaggio su sys.stderr).

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.