Python 如何根据条件引发错误

Python 如何根据条件引发错误,python,Python,在python中引发错误的最佳方法是什么 我在想: if input = 14: raise valueError('error') 谢谢 这相当简单。您可以使用isinstance(,)检查类型,并记住将valueError更改为valueError input = 0 if not isinstance(input,int): raise ValueError('error') elif input < 5555 or input > 11111: r

在python中引发错误的最佳方法是什么

我在想:

if input = 14:
    raise valueError('error')

谢谢

这相当简单。您可以使用
isinstance(,)
检查类型,并记住将
valueError
更改为
valueError

input = 0

if not isinstance(input,int):
    raise ValueError('error')
elif input < 5555 or input > 11111:
    raise ValueError('error1')

这相当简单。您可以使用
isinstance(,)
检查类型,并记住将
valueError
更改为
valueError

input = 0

if not isinstance(input,int):
    raise ValueError('error')
elif input < 5555 or input > 11111:
    raise ValueError('error1')

除了它应该是
ValueError
(大写V)之外,我不确定我是否理解您的问题-您似乎有自己的解决方案您的问题到底是什么。您所写的似乎已经是答案。好的,您只能输出一条错误消息。您必须编写一个条件来检查所有内容,然后选择要打印的错误消息。如果您真的想同时打印这两条消息,您必须执行类似于
ValueError('error'+'error1')
的操作,但这基本上会产生一个错误,即您已经在执行的两条消息的字符串。您正在测试一个条件(int类型),如果它不是int=>raise错误,则转到下一个条件(range)。这只是一些语法错误,但按顺序你的代码是正确的。除了事实上它应该是
ValueError
(大写V),我不确定我是否理解你的问题-你似乎有自己的解决方案,你的问题到底是什么。您所写的似乎已经是答案。好的,您只能输出一条错误消息。您必须编写一个条件来检查所有内容,然后选择要打印的错误消息。如果您真的想同时打印这两条消息,您必须执行类似于
ValueError('error'+'error1')
的操作,但这基本上会产生一个错误,即您已经在执行的两条消息的字符串。您正在测试一个条件(int类型),如果它不是int=>raise错误,则转到下一个条件(range)。这只是一些语法错误,但你的代码是正确的。请谨慎使用
is\u instance
。最好是简单地尝试将
input
设置为
int
。如果
int(input)
引发错误,要么捕获它并引发您自己的错误,要么让原始错误消失。@chepner您是对的<代码>iInstance性能非常差。但是,我通常更喜欢将代码保持简短,以完成计算成本较低的任务,以便OP更容易理解。@jackiegirl89您可以将值错误传递到列表中,并在它们不为空时引发它们。我已经更新了代码,因此它将引发多个异常。请谨慎使用
is\u instance
。最好是简单地尝试将
input
设置为
int
。如果
int(input)
引发错误,要么捕获它并引发您自己的错误,要么让原始错误消失。@chepner您是对的<代码>iInstance性能非常差。但是,我通常更喜欢将代码保持简短,以完成计算成本较低的任务,以便OP更容易理解。@jackiegirl89您可以将值错误传递到列表中,并在它们不为空时引发它们。我已经更新了代码,因此它将引发多个异常。
input = 'g'

exceptions = []

try:
    _ = int(input)
    if input < 5555 or input > 11111:
        exceptions.append(ValueError('error1'))
except ValueError:
    exceptions.append(ValueError('error'))
    exceptions.append(ValueError('error1'))

if exceptions != []:
    raise Exception(exceptions)