Skip to content

Commit 32f65d3

Browse files
committed
[Processing] Yet another fix for error message encoding errors. Fixes #16102
1 parent 1746b32 commit 32f65d3

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

python/plugins/processing/core/GeoAlgorithm.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,16 @@ def execute(self, progress=SilentProgress(), model=None):
215215
lines = [self.tr('Uncaught error while executing algorithm')]
216216
lines.append(traceback.format_exc())
217217
ProcessingLog.addToLog(ProcessingLog.LOG_ERROR, lines)
218+
try:
219+
message = unicode(e)
220+
except Exception:
221+
# Encoding the error message failed. Try with the 'replace' mode.
222+
try:
223+
message = unicode(e.message, 'utf-8', 'replace')
224+
except Exception:
225+
message = self.tr('Unknown error')
218226
raise GeoAlgorithmExecutionException(
219-
unicode(e.message, errors='replace') + self.tr('\nSee log for more details'), lines, e)
227+
message + self.tr(' \nSee log for more details'), lines, e)
220228

221229
def _checkParameterValuesBeforeExecuting(self):
222230
for param in self.parameters:

0 commit comments

Comments
 (0)