JetBrains Marketplace Help

Exception analyzer

An easy way to report plugin exceptions from IntelliJ Platform-based products to plugin developers right on JetBrains Marketplace is to use JetBrains Exception Analyzer (EA) as a backend service.

Before this, developers could only implement a custom error handler.

How does it work?

On the user’s side:

  • An exception occurs, and the user is informed about it in the IDE via a modal window.

  • The modal window contains all of the exception’s technical data and the consent to send the exception, which can then be shared with the plugin developer.

  • The user clicks on Report to the third-party plugin, which sends this exception report to the plugin developer.

IDE Internal Errors

On the developer’s side:

  • The developer can review the exception on the plugin page under the Exceptions tab. In the current version, all exceptions are listed in two groups: Unresolved Issues and Resolved Issues.

  • The developer has all of the necessary information about the exception (OS, IDE versions, stack trace, etc).

  • The developer investigates the issue and marks it as “Resolved” once it’s fixed.

What metadata is sent

The information that report could include is:

"appInfo", "update.channel.status", "update.ignored.builds", "plugin.id", "plugin.name", "plugin.version", "last.action", "previous.exception", "error.message", "error.stacktrace", "error.description", "error.redacted", "attachment.name", "attachment.value", "assignee.id", "assignee.list.visible", "assignee.list.timestamp"

"appInfo" could also include:

"protocol.version", "os.name", "java.version", "java.vm.vendor", "app.name", "app.name.full", "app.name.version", "app.eap", "app.internal", "app.build", "app.version.major", "app.version.minor", "app.build.date", "app.build.date.release", "app.product.code", "app.build.number"
Exceptions tab

How do I opt in?

To start getting exception reports from users, it is necessary to opt-in to this feature by adding the following entry that provides the JetBrains Marketplace error handler implementation to the plugin.xml file:

<idea-plugin> <!-- ... --> <extensions defaultExtensionNs="com.intellij"> <errorHandler implementation="com.intellij.diagnostic.JetBrainsMarketplaceErrorReportSubmitter"/> </extensions> </idea-plugin>

The JetBrainsMarketplaceErrorReportSubmitter helper class has been available since the 2023.3 release cycle.

Once the error handler implementation is added, contact marketplace@jetbrains.com and JetBrains Marketplace team will enable the feature for you.

Last modified: 04 April 2024