UR+ panel is not handling exceptions gracefully

Steps to reproduce:

  • Throw a RuntimeException from code within a UR+ panel tab. E.g. in SwingToolbarContribution.openView() or SwingToolbarService.createToolbar()
  • Pass a ‘null’ reference instead of a valid icon PNG file - SwingToolbarService.getIcon()

Expected Behavior:

  • After an exception in openView() is shown to the user, the UR+ panel should resume normal operation
  • For exceptions thrown in createToolbar() and getIcon(), show an error message during the splash load or right after

Actual Behavior:

  • OpenView: after the exception is shown to the user, that particular tab of the UR+ panel is dead. Other tabs may work, but the one with the exception remains frozen forever
  • createToolbar() and getIcon(): the splash screen continues but freeze at 100%

Workaround Suggestion:

  • Do not crash the UR+ panel that has thrown an exception
  • Ensure exceptions during splash screen is reported after the splash screen has finished loading

Robot Serial Number:

  • Dockerized simulator (se version below)

Affected Version(s):

  • universalrobots/ursim_e-series:5.15.2

Comments anyone?

(must be at least 20 characters…)