[英]python: return exception from function
假设我具有以下功能:
def test():
...
if x['error']:
raise
无论是否定义x['error']
这都会引发异常。
相反,如果我尝试这样做,它不会引发任何异常:
def test():
...
try:
if x['error']:
raise
except:
return
如何定义一个特定值并返回一个异常(如果已定义),以及如何成功返回(未定义)?
def test():
...
if x.get(‘error’):
raise
您可以避免使用字典的内置get
函数无意中引发错误。 如果指定键上的值不存在,则Get将返回None
,而不是引发异常。
试试这个
def check_not_exist(d,k):
#if keys exists in dict,raise it
if k in d:
raise
else:
return True
如果要以字符串形式返回错误:
>>> def test():
try:
if x['error']:raise
except Exception as err:
return err
>>> test()
NameError("name 'x' is not defined",)
如果要发生错误:
>>> def test():
try:
if x['error']:raise
except:
raise
>>> test()
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
test()
File "<pyshell#19>", line 3, in test
if x['error']:raise
NameError: name 'x' is not defined
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.