From ba4dd580a33a36b8988100a4c5202bc6e5747979 Mon Sep 17 00:00:00 2001 From: "Nikolay.Rykunov" Date: Thu, 13 Jun 2019 18:19:48 +0300 Subject: [PATCH] Handle all exceptions are thrown by prediction calculating GitOrigin-RevId: 9a881a16ccc42446b3ce7c53e93390f36c98a296 --- .../changeReminder/predict/PredictionController.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/changeReminder/src/com/jetbrains/changeReminder/predict/PredictionController.kt b/plugins/changeReminder/src/com/jetbrains/changeReminder/predict/PredictionController.kt index 3b46b6d09557..aa15b1d66d0b 100644 --- a/plugins/changeReminder/src/com/jetbrains/changeReminder/predict/PredictionController.kt +++ b/plugins/changeReminder/src/com/jetbrains/changeReminder/predict/PredictionController.kt @@ -30,19 +30,21 @@ internal abstract class PredictionController(private val project: Project, val task: Task.Backgroundable = object : Task.Backgroundable(project, "ChangeReminder Prediction Calculating") { override fun run(indicator: ProgressIndicator) { inProgress = true + val result = mutableListOf() try { - val request = popRequest() ?: let { - complete(emptyList()) - return - } + val request = popRequest() ?: return val (time, prediction) = measureSupplierTimeMillis { request.calculate() } logEvent(project, ChangeReminderEvent.PREDICTION_CALCULATED, ChangeReminderData.EXECUTION_TIME, time) - complete(prediction) + result.addAll(prediction) } catch (e: ProcessCanceledException) { - complete(emptyList()) throw e } + catch (_: Exception) { + } + finally { + complete(result) + } } } val indicator = EmptyProgressIndicator()