gpt4 book ai didi

python - 引发错误 : Ugly code. ..更好的编写方式?

转载 作者:行者123 更新时间:2023-12-01 07:15:09 33 4
gpt4 key购买 nike

def positive_int(value):
try:
ivalue = int(value)
except:
raise argparse.ArgumentTypeError("%s is an invalid positive int value" % value)
if ivalue <= 0:
raise argparse.ArgumentTypeError("%s is an invalid positive int value" % value)
return ivalue

想想上面的代码实在是太丑陋了。第一部分是引发错误的部分,另一部分是检查该值是否可满足的。如果至少其中之一失败,则应引发错误。有没有办法将这些检查串在一起,这样我就不需要重复行?或者只是一个更好、更漂亮的选择?非常感谢:)

最佳答案

如果 try: block 内的值为负数,这将引发一个通用异常,从而导致它重新引发与 int(value) 时相同的异常> 抛出异常

def positive_int(value):
try:
ivalue = int(value)
if ivalue <= 0:
raise Exception
except:
raise argparse.ArgumentTypeError("%s is an invalid positive int value" % value)

return ivalue

关于python - 引发错误 : Ugly code. ..更好的编写方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58014090/

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