错误信息说了什么

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

接管之后的异常里带着 argparse 的原话。运行下面这段程序,看它从两条错误信息里各认出了什么:

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", required=True)

def kind(argv):
    try:
        p.parse_args(argv)
        return "ok"
    except UsageError as e:
        m = str(e)
        if "invalid" in m:
            return "type"
        if "required" in m:
            return "missing"
        return "other"

print(kind(["abc", "--to", "f"]) + "/" + kind(["37"]) + "/" + kind(["37", "--to", "f"]))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论