Catch OSError when actually writing the UFP stream

This includes getting an error message when we don't have write access any more or when the file was deleted or connection lost while we were writing to it.

Fixes Sentry issue CURA-GX.
This commit is contained in:
Ghostkeeper 2020-04-09 14:55:14 +02:00
parent 54b6c2a54e
commit 1047cdd76c
No known key found for this signature in database
GPG key ID: D2A8871EE34EC59A

View file

@ -1,4 +1,4 @@
#Copyright (c) 2019 Ultimaker B.V. #Copyright (c) 2020 Ultimaker B.V.
#Cura is released under the terms of the LGPLv3 or higher. #Cura is released under the terms of the LGPLv3 or higher.
from typing import cast from typing import cast
@ -131,5 +131,11 @@ class UFPWriter(MeshWriter):
added_materials.append(material_file_name) added_materials.append(material_file_name)
archive.close() try:
archive.close()
except OSError as e:
error_msg = catalog.i18nc("@info:error", "Can't write to UFP file:") + " " + str(e)
self.setInformation(error_msg)
Logger.error(error_msg)
return False
return True return True