Skip to content

Commit e4aeeba

Browse files
committed
Print script errors even when no error writer
1 parent 835ead7 commit e4aeeba

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/scyjava/_script.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,15 @@ def apply(self, arg):
110110
script_locals,
111111
)
112112
except Exception:
113+
error_message = traceback.format_exc()
113114
error_writer = arg.scriptContext.getErrorWriter()
114-
if error_writer is not None:
115-
error_writer.write(to_java(traceback.format_exc()))
115+
if error_writer is None:
116+
# Emit error message to stderr stream.
117+
error_writer = sys.stderr
118+
else:
119+
# Emit error message to designated error writer.
120+
error_message = to_java(error_message)
121+
error_writer.write(error_message)
116122

117123
stdoutContextWriter.removeScriptContext(threading.currentThread())
118124

@@ -122,9 +128,6 @@ def apply(self, arg):
122128
arg.vars[key] = to_java(script_locals[key])
123129
except Exception:
124130
arg.vars[key] = PythonObjectSupplier(script_locals[key])
125-
# error_writer = arg.scriptContext.getErrorWriter()
126-
# if error_writer is not None:
127-
# error_writer.write(to_java(traceback.format_exc()))
128131

129132
return to_java(return_value)
130133

0 commit comments

Comments
 (0)