我是python的新手,尝试处理一个错误,使我能够显示导致失败的两点。一个变量在函数内,而另一个变量在函数外。我的尝试是下面的代码:
def fun(x):
z = 0.5 * x
if z == 1.0:
return z
else:
raise Exception('z is not 1.0')
if __name__ == '__main__':
y = 9.0
x = y / 4.0
try:
print fun(x)
except fun as err:
print 'y is %f' % y
print err
所以如果是
y = 8.0
,那么x = 2.0
和z = 1.0
很好。但是,如果是y = 9.0
,则是z != 10
,我希望显示错误和y
的值。 y
中无法访问fun()
,因此我可以在其中进行操作。我意识到这是一个毫无意义的例子。实际上,我是将文件中的一行数据传递给
fun()
,并且我希望fun()
引发该行的哪一部分会导致错误的错误,但它不知道文件名。谢谢你的帮助!
最佳答案
使用您的外部try/except
捕获并响应Exception
中的预期fun()
。
您基本上已经有了,只需要将except fun as err:
更改为except Exception as err:
def fun(x):
z = 0.5 * x
if z == 1.0:
return z
else:
raise Exception('z is not 1.0')
if __name__ == '__main__':
y = 9.0
x = y / 4.0
try:
print fun(x)
except Exception as err:
print 'y is %f' % y
print err
关于python - 在python中的函数调用外部重印错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46689909/