Sentry Integration

I use Sentry for error reporting, and I’ve noticed an issue with how errors are wrapped. The IdeaLoggingEvent class provides a wrapper around the error, but the actual root error is often contained inside myData, which may be an instance of the AbstractMessage class.

The problem is that AbstractMessage is currently marked as internal. Because of this, I can’t properly extract and report the real underlying error to Sentry — instead, only the wrapper error gets reported.

Is there any possibility of making AbstractMessage a non-internal class, or providing another way to reliably access the original error? Otherwise, the error reported to Sentry will always be the wrapper and not the actual cause.

No, AbstractMessage is an implementation detail and should not be accessed by plugins.

The corresponding code was significantly changed in 2025.1, so that IdeaLoggingEvent#getThrowable returns the original exception in most cases.