gpt4 book ai didi

python - 如何以自己的方式处理 python 生成的错误消息?

转载 作者:行者123 更新时间:2023-11-28 21:30:25 24 4
gpt4 key购买 nike

对于如下一些代码,

    opts, args = getopt.getopt(sys.argv[1:], "c:", ...    for o,v in opts:...        elif o in ("-c", "--%s" % checkString):            kCheckOnly = True            clientTemp = v

如果我在 -c 之后没有给出参数,我会收到如下错误消息。

Traceback (most recent call last):  File "niFpgaTimingViolationMain.py", line 100, in     opts, args = getopt.getopt(sys.argv[1:], "hdc:t:",[helpString, debugString, checkString, twxString])  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/getopt.py", line 91, in getopt    opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/getopt.py", line 195, in do_shorts    opt)getopt.GetoptError: option -c requires argument

有什么方法可以捕获这个错误,并对其进行处理以打印类似的内容吗?看来仅仅将代码包装在try/except中是行不通的。

ERROR: You forgot to give the file name after -c option

最佳答案

您可以捕获 getopt.GetoptError 并自行检查 'opt' 和 'msg' 属性:

try:    opts, args = getopt.getopt(sys.argv[1:], "c:", ...except getopt.GetoptError, e:    if e.opt == 'c' and 'requires argument' in e.msg:        print >>sys.stderr, 'ERROR: You forgot to give the file name after -c option'        sys.exit(-1)

关于python - 如何以自己的方式处理 python 生成的错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2585803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com