我见过人们在做这两种事情,但我看不出它们之间的区别:
raise Exception('This is the error')
和
raise 'This is the error'
我应该使用哪个?
答案 0 :(得分:0)
都不使用。第一个是语法错误:
>>> raise Exception "This is an error"
File "<stdin>", line 1
raise Exception "This is an error"
^
SyntaxError: invalid syntax
第二个是类型错误(您不能“提高”一个str
值):
>>> raise "this"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: exceptions must derive from BaseException
正确的形式是使用错误消息作为参数来调用异常类型:
raise Exception("this is the error")
在所需的异常不需要参数的情况下,提高Exception
类型本身等同于提高没有参数创建的实例。
raise Exception # equivalent to raise Exception()