概述
两者都是正确的后一种形式让我们为你的异常附加参数:
if len(sys.argv) == 1:
raise EmptyArgs('Specify at least 1 argument')
您还可以在raise语句中将参数作为第二个值作为元组传递:
if len(sys.argv) == 1:
raise EmptyArgs, ('Specify at least 1 argument',)
但单个非元组值也可以工作,并且被视为单个参数:
if len(sys.argv) == 1:
raise EmptyArgs, 'Specify at least 1 argument'
而第三个值可以让我们指定一个备用的traceback,然后使用它来代替在代码中为当前位置生成的traceback:
if len(sys.argv) == 1:
raise EmptyArgs, ('Specify at least 1 argument',), traceback_object
请注意,当您为异常使用参数时,The Python styleguide PEP 8更喜欢提供异常实例,而不是类:
When raising an exception, use raise ValueError('message') instead of the older form raise ValueError, 'message'.
The paren-using form is preferred because when the exception arguments are long or include string formatting, you don’t need to use line continuation characters thanks to the containing parentheses. The older form will be removed in Python 3.
Python 3将不再支持该表单.
最后
以上就是勤劳蜜粉为你收集整理的python 引发异常,在python中引发异常的正确方法?的全部内容,希望文章能够帮你解决python 引发异常,在python中引发异常的正确方法?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复