For Open and Save operations cancelling results in a single-line exception, which is not bad:
JavaException: org.workcraft.exceptions.OperationCancelledException: Open operation cancelled by user.
JavaException: org.workcraft.exceptions.OperationCancelledException: Save operation cancelled by user.
However, if Export is canceled, long stack ot callers is revealed:
Exception in thread "AWT-EventQueue-0" org.mozilla.javascript.WrappedException: Wrapped org.workcraft.exceptions.OperationCancelledException: Save operation cancelled by user. (<string>#1)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1757)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:170)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)
at org.mozilla.javascript.gen.c4._c0(<string>:1)
at org.mozilla.javascript.gen.c4.call(<string>)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
at org.mozilla.javascript.gen.c4.call(<string>)
at org.mozilla.javascript.gen.c4.exec(<string>)
at org.mozilla.javascript.Context.evaluateString(Context.java:1196)
at org.workcraft.Framework$JavaScriptExecution.run(Framework.java:97)
at org.mozilla.javascript.Context.call(Context.java:577)
at org.mozilla.javascript.Context.call(Context.java:499)
at org.workcraft.Framework.execJavaScript(Framework.java:354)
at org.workcraft.Framework.execJavaScript(Framework.java:358)
at org.workcraft.gui.MainWindow$1.actionPerformed(MainWindow.java:214)
at org.workcraft.gui.actions.ScriptedActionMenuItem.fireActionPerformed(ScriptedActionMenuItem.java:57)
at org.workcraft.gui.actions.ScriptedActionMenuItem.access$0(ScriptedActionMenuItem.java:54)
at org.workcraft.gui.actions.ScriptedActionMenuItem$ActionForwarder.actionPerformed(ScriptedActionMenuItem.java:33)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: org.workcraft.exceptions.OperationCancelledException: Save operation cancelled by user.
at org.workcraft.gui.MainWindow.exportTo(MainWindow.java:948)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:155)
... 45 more