Python try/except: 显示变量后展示错误原因
我甚至不知道该用什么正确的词来搜索。我想在一个异常处理块中显示错误对象的部分内容(类似于VBScript中的err对象,它有Err.Number和Err.Description)。比如,我想先显示我的变量值,然后再显示具体的错误。很明显,我下面的代码造成了一个除以零的错误,但我该怎么打印出这个错误呢?
try:
x = 0
y = 1
z = y / x
z = z + 1
print "z=%d" % (z)
except:
print "Values at Exception: x=%d y=%d " % (x,y)
print "The error was on line ..."
print "The reason for the error was ..."
7 个回答
13
异常对象的字符串值会告诉你出错的原因。traceback
模块可以让你查看完整的错误追踪信息。
30
如果你预料到会出现“除以零”的错误,你可以专门处理这个错误。
import traceback
try:
x = 5
y = 0
print x/y
except ZeroDivisionError:
print "Error Dividing %d/%d" % (x,y)
traceback.print_exc()
except:
print "A non-ZeroDivisionError occurred"
你可以通过调用 traceback.print_exc()
来手动获取出错的行号和其他信息。
112
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这些问题可能是因为我们写的代码有bug,或者使用的工具和库不兼容。解决这些问题通常需要我们仔细检查代码,看看哪里出了问题。
另外,很多时候我们可以在网上找到别人遇到类似问题的解决方案,比如在StackOverflow这样的论坛上。这里有很多程序员分享他们的经验和解决办法,大家可以互相帮助。
总之,编程过程中遇到问题是很正常的,关键是要学会如何寻找解决方案,并不断提升自己的技能。
try:
1 / 0
except Exception as e:
print(e)