Improve error output w/ bad args
diff --git a/pkgs/markdown/tool/common_mark_stats.dart b/pkgs/markdown/tool/common_mark_stats.dart
index fb3554a..9d54293 100644
--- a/pkgs/markdown/tool/common_mark_stats.dart
+++ b/pkgs/markdown/tool/common_mark_stats.dart
@@ -4,7 +4,7 @@
 import 'dart:io';
 import 'dart:mirrors';
 
-import 'package:args/args.dart' show ArgParser;
+import 'package:args/args.dart';
 import 'package:collection/collection.dart';
 import 'package:html/dom.dart' as dom;
 import 'package:html/parser.dart' show parseFragment;
@@ -32,7 +32,16 @@
         defaultsTo: false, help: 'verbose output', negatable: false)
     ..addFlag('help', defaultsTo: false, negatable: false);
 
-  var options = parser.parse(args);
+  ArgResults options;
+
+  try {
+    options = parser.parse(args);
+  } on FormatException catch (e) {
+    stderr.writeln(e);
+    print(parser.usage);
+    exitCode = 64;
+    return;
+  }
 
   if (options['help']) {
     print(parser.usage);
@@ -45,7 +54,7 @@
   var updateFiles = options['update-files'] as bool;
 
   if (updateFiles && (raw || verbose || (specifiedSection != null))) {
-    print('The `update-files` flag must be used by itself');
+    stderr.writeln('The `update-files` flag must be used by itself');
     print(parser.usage);
     exitCode = 64; // unix standard improper usage
     return;