[flutter_tool] Some additional input validation for 'version' (#39136)

diff --git a/packages/flutter_tools/test/general.shard/commands/version_test.dart b/packages/flutter_tools/test/general.shard/commands/version_test.dart
index c09ff69..647e657 100644
--- a/packages/flutter_tools/test/general.shard/commands/version_test.dart
+++ b/packages/flutter_tools/test/general.shard/commands/version_test.dart
@@ -62,6 +62,16 @@
       ProcessManager: () => MockProcessManager(),
     });
 
+    testUsingContext('tool exit on confusing version', () async {
+      const String version = 'master';
+      final VersionCommand command = VersionCommand();
+      final Future<void> runCommand = createTestCommandRunner(command).run(<String>['version', version]);
+      expect(() async => await Future.wait<void>(<Future<void>>[runCommand]),
+             throwsA(isInstanceOf<ToolExit>()));
+    }, overrides: <Type, Generator>{
+      ProcessManager: () => MockProcessManager(),
+    });
+
     testUsingContext('exit tool if can\'t get the tags', () async {
       final VersionCommand command = VersionCommand();