Update travis config (#529)

diff --git a/.travis.yml b/.travis.yml
index 72afddc..a9ecdd6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,11 @@
   - "2.8.1"
   - beta
 
+# Use Ubuntu 18.04 (Bionic Beaver) 
+# https://docs.travis-ci.com/user/reference/overview/#virtualization-environments
+dist: bionic
+os: linux
+
 branches:
   only: [master]
 before_script:
diff --git a/tool/grind.dart b/tool/grind.dart
index f91ac5f..855180f 100644
--- a/tool/grind.dart
+++ b/tool/grind.dart
@@ -262,12 +262,6 @@
   Pub.run('build_runner', arguments: ['build', '--delete-conflicting-outputs']);
 }
 
-class RunWithLoggingException implements Exception {
-  const RunWithLoggingException(this.executable, this.exitCode);
-  final String executable;
-  final int exitCode;
-}
-
 Future<void> runWithLogging(String executable,
     {List<String> arguments = const [],
     RunOptions runOptions,
@@ -287,6 +281,6 @@
   final exitCode = await proc.exitCode;
 
   if (exitCode != 0) {
-    throw RunWithLoggingException(executable, exitCode);
+    fail('Unable to exec $executable, failed with code $exitCode');
   }
 }