diff --git a/src/test/java/com/android/tools/r8/benchmarks/appdumps/AbortBenchmarkException.java b/src/test/java/com/android/tools/r8/benchmarks/appdumps/AbortBenchmarkException.java
new file mode 100644
index 0000000..9c7a048
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/benchmarks/appdumps/AbortBenchmarkException.java
@@ -0,0 +1,6 @@
+// Copyright (c) 2024, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package com.android.tools.r8.benchmarks.appdumps;
+
+public class AbortBenchmarkException extends RuntimeException {}
diff --git a/src/test/java/com/android/tools/r8/benchmarks/appdumps/AppDumpBenchmarkBuilder.java b/src/test/java/com/android/tools/r8/benchmarks/appdumps/AppDumpBenchmarkBuilder.java
index 2806772..c63ca2c 100644
--- a/src/test/java/com/android/tools/r8/benchmarks/appdumps/AppDumpBenchmarkBuilder.java
+++ b/src/test/java/com/android/tools/r8/benchmarks/appdumps/AppDumpBenchmarkBuilder.java
@@ -3,7 +3,6 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.benchmarks.appdumps;
 
-
 import com.android.tools.r8.LibraryDesugaringTestConfiguration;
 import com.android.tools.r8.R8FullTestBuilder;
 import com.android.tools.r8.TestBase;
@@ -313,7 +312,7 @@
                                   .benchmarkInstructionCodeSize(results)
                                   .benchmarkDexSegmentsCodeSize(results)
                                   .benchmarkDex2OatCodeSize(results);
-                            } catch (Exception e) {
+                            } catch (AbortBenchmarkException e) {
                               // Ignore.
                             }
                           });
diff --git a/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/SystemUIBenchmarks.java b/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/SystemUIBenchmarks.java
index 70ec642..045537d 100644
--- a/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/SystemUIBenchmarks.java
+++ b/src/test/java/com/android/tools/r8/internal/benchmarks/appdumps/SystemUIBenchmarks.java
@@ -8,7 +8,9 @@
 import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.benchmarks.BenchmarkBase;
 import com.android.tools.r8.benchmarks.BenchmarkConfig;
+import com.android.tools.r8.benchmarks.appdumps.AbortBenchmarkException;
 import com.android.tools.r8.benchmarks.appdumps.AppDumpBenchmarkBuilder;
+import com.android.tools.r8.utils.Timing;
 import com.google.common.collect.ImmutableList;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -66,7 +68,12 @@
         options ->
             options.getTestingOptions().enqueuerInspector =
                 (appInfo, enqueuerMode) -> {
-                  throw new RuntimeException();
+                  if (appInfo.options().printTimes) {
+                    Timing timing = appInfo.app().timing;
+                    timing.end();
+                    timing.report();
+                  }
+                  throw new AbortBenchmarkException();
                 });
   }
 
