import sys
def checkarg():
try:
filename=str(sys.argv[1])
if filename=="-mycommand":
print "SPECIFIC_TEXT"
sys.exit()
else:
return filename
except:
print "ERROR"
sys.exit()
大家好...我对上面的代码有疑问。当我调用“checkarg”函数时,如果我没有在命令行上传递任何参数,我就会得到“错误”输出和系统退出,正如预期的那样。
但是,如果我在命令行上提供一个参数(如“-mycommand”),它会打印“SPECIFIC_TEXT”,然后也会从 EXCEPT 块打印“ERROR”消息。
TRY 块只会在我提供参数时运行,如果我不提供,则 EXCEPT 将获得轮到。但是,它同时运行 TRY 和 EXCEPT 块。
有谁知道这种行为的原因?我的代码有什么错误吗?谢谢大家!