此Python代码块在student [3]
处生成错误。如何立即在except
中显示错误消息而不是打印以前的值?
try:
student = ['bob','rob','mob']
print (student )
print (student [0])
print (student [1])
print (student [2])
print (student [3])
except:
print("error")
当前输出:
['bob','rob','mob']
bob
rob
mob
error
Process finished with exit code 0
如何在出现错误之前避免打印?
答案 0 :(得分:4)
代码将一直运行,直到发生一些错误,并且错误不会发生在print (student [3])
之前。因此,以前的命令将会运行,现在又回来了。
一个简单的解决方案是首先将这些值分配给某些变量然后打印出来:
try:
student = ['bob','rob','mob']
a=student [0]
b=student [1]
c=student [2]
d=student [3]
print (a)
print (b)
print (c)
print (d)
except:
print("error")
因此,在执行打印命令之前,d=student [3]
中会发生错误。
答案 1 :(得分:2)
你不能那样做AFAIK。
Python不会知道它会遇到gcc main.c -o main -Wall
(IndexOutOfBounds
)异常,所以它会一直执行直到异常。
解决这种情况的一种方法是使用IndexError
循环并仅对其进行迭代。它应该完全避免例外:
for