Python 3.2+Исключенияисключение
argparse.ArgumentTypeError
модульные исключения
type-функция аргумента argparse отвергла значение.
Синтаксис
raise argparse.ArgumentTypeError
Поднимайте её внутри своей функции type=, чтобы argparse напечатал ваш текст как обычную ошибку разбора и вышел с кодом 2, а не вывалил трейсбек. ValueError и TypeError из type-функции argparse тоже перехватывает, но подменяет сообщение шаблонным «invalid ... value»; любое другое исключение проходит насквозь и роняет программу.
Примеры
import argparse
try:
raise argparse.ArgumentTypeError
except argparse.ArgumentTypeError as e:
print(type(e).__name__) # → ArgumentTypeError
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности