Skip to content

Commit e20e3ab

Browse files
author
Vladimir Ilyin
authored
Add null check to exception cause logging (#144)
1 parent 6dcc10e commit e20e3ab

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

ui/jetbrains/src/main/java/com/neueda/jetbrains/plugin/graphdb/jetbrains/services/ExecutorServiceImpl.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22

33
import com.intellij.openapi.application.ApplicationManager;
44
import com.intellij.openapi.application.ModalityState;
5+
import com.intellij.openapi.diagnostic.Logger;
56

67
import java.util.concurrent.Callable;
78
import java.util.function.Consumer;
89

910
public class ExecutorServiceImpl implements ExecutorService {
1011

12+
private static final Logger LOG = Logger.getInstance(ExecutorServiceImpl.class);
13+
1114
@Override
1215
public <T> void runInBackground(Callable<T> task, Consumer<T> onSuccess, Consumer<Exception> onFailure) {
1316
runInBackground(task, onSuccess, onFailure, ModalityState.defaultModalityState());
@@ -21,7 +24,14 @@ public <T> void runInBackground(Callable<T> task, Consumer<T> onSuccess, Consume
2124
ApplicationManager.getApplication().invokeLater(() -> onSuccess.accept(result), modalityState);
2225

2326
} catch (Exception exception) {
24-
ApplicationManager.getApplication().invokeLater(() -> onFailure.accept(exception), modalityState);
27+
ApplicationManager.getApplication().invokeLater(() -> {
28+
try {
29+
onFailure.accept(exception);
30+
} catch (Exception handlerException) {
31+
LOG.error("Exception in background execution error handler:", handlerException);
32+
LOG.error("Original exception:", exception);
33+
}
34+
}, modalityState);
2535
}
2636
});
2737
}

ui/jetbrains/src/main/java/com/neueda/jetbrains/plugin/graphdb/jetbrains/ui/console/log/LogPanel.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.event.QueryExecutionProcessEvent;
1616
import com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.console.event.QueryParametersRetrievalErrorEvent;
1717
import com.neueda.jetbrains.plugin.graphdb.jetbrains.ui.datasource.metadata.MetadataRetrieveEvent;
18+
import org.jetbrains.annotations.Nullable;
1819

1920
import java.awt.*;
2021
import java.util.Map;
@@ -135,8 +136,10 @@ public void info(String message) {
135136
log.print(message, ConsoleViewContentType.NORMAL_OUTPUT);
136137
}
137138

138-
public void error(String message) {
139-
log.print(message, ConsoleViewContentType.ERROR_OUTPUT);
139+
public void error(@Nullable String message) {
140+
if (message != null) {
141+
log.print(message, ConsoleViewContentType.ERROR_OUTPUT);
142+
}
140143
}
141144

142145
public void printException(Exception exception) {

0 commit comments

Comments
 (0)