Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Better render error handling (#242)
Fixes #227 Testing with the examples from the issue logged errors, for example: ``` import deephaven.ui as ui @ui.component def hi(): something, set_something = ui.use_state(0) return "Hello, " + something h = hi() ``` ``` Error rendering __main__.hi Traceback (most recent call last): File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/object_types/ElementMessageStream.py", line 153, in _render node = self._renderer.render(self._element) File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/renderer/Renderer.py", line 111, in render return _render_element(element, self._context) File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/renderer/Renderer.py", line 84, in _render_element props = element.render(context) File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/elements/FunctionElement.py", line 37, in render children = self._render() File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/components/make_component.py", line 23, in <lambda> return FunctionElement(component_type, lambda: func(*args, **kwargs)) File "<string>", line 6, in hi TypeError: can only concatenate str (not "int") to str ``` another: ``` from deephaven import ui @ui.component def foo(): return ui.bad_component() f = foo() ``` ``` Error rendering __main__.foo Traceback (most recent call last): File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/object_types/ElementMessageStream.py", line 153, in _render node = self._renderer.render(self._element) File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/renderer/Renderer.py", line 111, in render return _render_element(element, self._context) File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/renderer/Renderer.py", line 84, in _render_element props = element.render(context) File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/elements/FunctionElement.py", line 37, in render children = self._render() File "/Users/josephnumainville/Documents/deephaven-core/.venv/lib/python3.8/site-packages/deephaven/ui/components/make_component.py", line 23, in <lambda> return FunctionElement(component_type, lambda: func(*args, **kwargs)) File "<string>", line 5, in foo AttributeError: module 'deephaven.ui' has no attribute 'bad_component' ```
- Loading branch information