mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
DefaultIdeaErrorLogger - wrap exceptions - exception classes leak fix
This commit is contained in:
committed by
Maxim Shafirov
parent
c1a169a39c
commit
8d8d17767f
@@ -51,7 +51,8 @@ public class DefaultIdeaErrorLogger implements ErrorLogger {
|
||||
processOOMError(event);
|
||||
}
|
||||
else if (!ourOomOccured) {
|
||||
MessagePool.getInstance().addIdeFatalMessage(event);
|
||||
IdeaLoggingEvent eventToAdd = new IdeaLoggingEvent(event.getMessage(), new ExceptionHolder(event.getThrowable()));
|
||||
MessagePool.getInstance().addIdeFatalMessage(eventToAdd);
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -76,4 +77,11 @@ public class DefaultIdeaErrorLogger implements ErrorLogger {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private class ExceptionHolder extends Throwable {
|
||||
public ExceptionHolder(Throwable throwable) {
|
||||
super(throwable.getMessage(), throwable.getCause() == null ? null : new ExceptionHolder(throwable.getCause()));
|
||||
setStackTrace(throwable.getStackTrace());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user