Python cant handle exceptions from zipfile.BadZipFile
17,318
You need to put your context manager inside the try-except
block:
try:
with ZipFile(path) as zf:
print "zipfile is OK"
except BadZipfile:
print "Does not work "
The error is raised by ZipFile
so placing it outside means no handler can be found for the raised exception. In addition make sure you appropriately import BadZipFile
from zipfile
.
Author by
Pelle G
Updated on July 17, 2022Comments
-
Pelle G almost 2 years
Need to handle if a zip file is corrupt, so it just pass this file and can go on to the next.
In the code example underneath Im trying to catch the exception, so I can pass it. But my script is failing when the zipfile is corrupt*, and give me the "normal" traceback errors* istead of printing "my error", but is running ok if the zipfile is ok.
This i a minimalistic example of the code I'm dealing with.
path = "path to zipfile" from zipfile import ZipFile with ZipFile(path) as zf: try: print "zipfile is OK" except BadZipfile: print "Does not work " pass
part of the traceback is telling me: raise BadZipfile, "File is not a zip file"