UnboundLocalErrorUnboundLocalError
Er werd verwezen naar een lokale variabele voordat er een waarde aan was toegewezen.
Wat veroorzaakt deze fout
U leest een variabele vóór de toewijzing ervan binnen dezelfde functie. Python ziet de toewijzing en behandelt de variabele als lokaal voor de gehele functie, waardoor het lezen vóór de toewijzing mislukt. Dit gebeurt vaak bij pogingen een globale variabele te wijzigen zonder het global-sleutelwoord.
Hoe op te lossen
Gebruik het global-sleutelwoord om te verwijzen naar globale variabelen: global x. Of gebruik nonlocal voor variabelen in de omsluitende scope. Herstructureer de code zodat de variabele vóór het lezen wordt toegewezen. Geef de waarde door als functieparameter.
Voorbeeld
x = 10
def f(): print(x); x = 20
f() # UnboundLocalErrorGerelateerde foutcodes
PermissionErrorPermissionError
De bewerking is niet toegestaan vanwege onvoldoende bestandssysteemrechten.
concurrent.futures.TimeoutErrorconcurrent.futures.TimeoutError
Een Future voltooide niet binnen de opgegeven tijdslimiet.
IOErrorIOError
Een I/O-bewerking is mislukt. IOError is een alias voor OSError in Python 3.
MemoryErrorMemoryError
De Python-interpreter had onvoldoende beschikbaar geheugen.
SyntaxErrorSyntaxError
Python stuitte op ongeldige syntaxis die niet kan worden geparsed.
FutureWarningFutureWarning
Een waarschuwing over gedrag dat in een toekomstige versie zal veranderen.