Class BrowserSessionClosedError

All Implemented Interfaces:
Serializable

public class BrowserSessionClosedError extends AWTError
A thread about to block on a browser round-trip found no browser left to reach — the tab is closed, or the session is going away.

Raised only where the caller's next move is to wait for an answer: EHelper.runInUIThread(boolean, Runnable) with callerPlansToBlockAfterwards set. An ordinary Swing→peer write never sees it and drops the effect instead (R_decline_effect_only) — its state is stored and its event fires regardless, so there is nothing to abort.

An Error on purpose, so catch (Exception e) — which migrated worker bodies are full of — cannot swallow it and let the thread run on against a browser that is gone. SwingWorker.run catches Throwable as the JDK's FutureTask does, so this is still captured into the future and D_uncaught_handler_chain is untouched. It is a deliberate carve-out from R_match_swing_errors' IllegalStateException fallback.

See Also:
  • Constructor Details

    • BrowserSessionClosedError

      public BrowserSessionClosedError(String message)
    • BrowserSessionClosedError

      public BrowserSessionClosedError(String message, Throwable cause)
      Parameters:
      cause - what revealed the session was gone — typically what VaadinSession.accessSynchronously threw, which is otherwise lost