diff options
author | Xiaofei Wang <wangxf@google.com> | 2018-03-16 14:29:52 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-16 14:30:07 -0700 |
commit | bf3600db3a62561c8a03cdaeb490c7c0119da41e (patch) | |
tree | e3ceda019f1ca4c949a1ed98110a13d46deb8266 /absl/flags/_argument_parser.py | |
parent | bea504d7d0f3e410c7cb8c005bc569ba4fdfde09 (diff) | |
download | absl-py-bf3600db3a62561c8a03cdaeb490c7c0119da41e.tar.gz |
Make BooleanParser.parse raise ValueError instead of TypeError when the argument has a wrong type.
PiperOrigin-RevId: 189394019
Diffstat (limited to 'absl/flags/_argument_parser.py')
-rw-r--r-- | absl/flags/_argument_parser.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/absl/flags/_argument_parser.py b/absl/flags/_argument_parser.py index ae7d1d4..15eda52 100644 --- a/absl/flags/_argument_parser.py +++ b/absl/flags/_argument_parser.py @@ -282,14 +282,18 @@ class BooleanParser(ArgumentParser): return True elif argument.lower() in ('false', 'f', '0'): return False + else: + raise ValueError('Non-boolean argument to boolean flag', argument) elif isinstance(argument, six.integer_types): # Only allow bool or integer 0, 1. # Note that float 1.0 == True, 0.0 == False. bool_value = bool(argument) if argument == bool_value: return bool_value + else: + raise ValueError('Non-boolean argument to boolean flag', argument) - raise ValueError('Non-boolean argument to boolean flag', argument) + raise TypeError('Non-boolean argument to boolean flag', argument) def flag_type(self): """See base class.""" |