anchor.diff:      version = result.version;
       if (!isCompatible) {
         sendRequest(PluginShutdownParams());
  -      info.exception =
  -          CaughtException(PluginException('Plugin is not compatible.'), null);
  +      info.reportException(
  +          CaughtException(PluginException('Plugin is not compatible.'), null));
         return false;
       }
       return true;
  
positive.code:         } catch (exception, stackTrace) {
            // Record the exception (for debugging purposes) and record the fact
            // that we should not try to communicate with the plugin.
            plugin.exception = CaughtException(exception, stackTrace);
            isNew = false;
          }
        }
  
negative.code:     }
    }
  
    void reportException(CaughtException exception) {
      _exception = exception;
      instrumentationService.logPluginException(
          data, exception.exception, exception.stackTrace);
    }
  
    /// If the plugin is currently running, send a request based on the given
    /// [params] to the plugin. If the plugin is not running, the request will
    /// silently be dropped.
  