接管之后能拿到什么

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

下面把 error 重写成抛异常。运行这段程序,看两次错误各被接到了什么:

import argparse

class UsageError(Exception):
    pass

class QuietParser(argparse.ArgumentParser):
    def error(self, message):
        raise UsageError(message)

p = QuietParser(prog="conv")
p.add_argument("value", type=float)
p.add_argument("--to", choices=["c", "f", "k"])

got = []
for argv in (["abc"], ["37", "--to", "x"], ["37", "--to", "k"]):
    try:
        p.parse_args(argv)
        got.append("ok")
    except UsageError as e:
        got.append("err")
print("/".join(got))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论