Skip to content

Commit 8481f4f

Browse files
javier-godoyngonzalezpazFC
authored andcommitted
fix: avoid showing error dialog when UI is not available
Close #21
1 parent ab9d925 commit 8481f4f

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/main/java/com/flowingcode/vaadin/addons/errorwindow/VaadinServiceInitListenerImpl.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
package com.flowingcode.vaadin.addons.errorwindow;
2222

23+
import com.vaadin.flow.component.UI;
24+
import com.vaadin.flow.server.ErrorEvent;
2325
import com.vaadin.flow.server.ServiceInitEvent;
2426
import com.vaadin.flow.server.VaadinServiceInitListener;
2527

@@ -31,8 +33,14 @@ public class VaadinServiceInitListenerImpl implements VaadinServiceInitListener
3133
public void serviceInit(ServiceInitEvent event) {
3234
event
3335
.getSource()
34-
.addSessionInitListener(
35-
ev ->
36-
ev.getSession().setErrorHandler(ev2 -> ErrorManager.showError(ev2.getThrowable())));
36+
.addSessionInitListener(ev -> ev.getSession().setErrorHandler(this::handleError));
37+
}
38+
39+
private void handleError(ErrorEvent event) {
40+
if (UI.getCurrent() != null) {
41+
ErrorManager.showError(event.getThrowable());
42+
} else {
43+
event.getThrowable().printStackTrace();
44+
}
3745
}
3846
}

0 commit comments

Comments
 (0)