Skip to content

Commit 754dc3d

Browse files
authored
Merge pull request #114 from jayendra13/master
returning ExceptionWrapper object if excution halts with error
2 parents 616c495 + 4c6c566 commit 754dc3d

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

Diff for: matlab_kernel/kernel.py

+9-6
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from backports.tempfile import TemporaryDirectory
1818

1919
from IPython.display import Image
20-
from metakernel import MetaKernel
20+
from metakernel import MetaKernel, ExceptionWrapper
2121

2222
from . import __version__
2323

@@ -89,9 +89,9 @@ def do_execute_direct(self, code):
8989
self.handle_plot_settings()
9090

9191
if Wurlitzer:
92-
self._execute_async(code)
92+
retval = self._execute_async(code)
9393
else:
94-
self._execute_sync(code)
94+
retval = self._execute_sync(code)
9595

9696
settings = self._validated_plot_settings
9797
if settings["backend"] == "inline":
@@ -117,6 +117,8 @@ def do_execute_direct(self, code):
117117
except Exception as exc:
118118
self.Error(exc)
119119

120+
return retval
121+
120122
def get_kernel_help_on(self, info, level=0, none_on_fail=False):
121123
name = info.get("help_obj", "")
122124
out = StringIO()
@@ -247,8 +249,9 @@ def _execute_async(self, code):
247249
_PseudoStream(partial(self.Error, end=""))):
248250
future = self._matlab.eval(code, nargout=0, async=True)
249251
future.result()
250-
except (SyntaxError, MatlabExecutionError, KeyboardInterrupt):
251-
pass
252+
except (SyntaxError, MatlabExecutionError, KeyboardInterrupt) as exc:
253+
stdout = exc.args[0]
254+
return ExceptionWrapper("Error", -1, stdout)
252255

253256
def _execute_sync(self, code):
254257
out = StringIO()
@@ -260,7 +263,7 @@ def _execute_sync(self, code):
260263
except (SyntaxError, MatlabExecutionError) as exc:
261264
stdout = exc.args[0]
262265
self.Error(stdout)
263-
return
266+
return ExceptionWrapper("Error", -1, stdout)
264267
stdout = out.getvalue()
265268
self.Print(stdout)
266269

0 commit comments

Comments
 (0)