这是我剧本的一部分:
try:
read2length = len(reads[1])
x2 = data[read1length:read1length+read2length,0]
y2 = data[read1length:read1length+read2length,1]
fig = plt.figure()
plt.bar(x2,y2, align='center')
fig.suptitle('Read 2 Camera Timeouts', fontsize=20)
plt.xlabel('Cycle', fontsize=18)
plt.ylabel('#', fontsize=16)
if read2length < 50:
plt.xticks(x1, fontsize=14)
fig.savefig(join((path),'Read 2 Camera Timeouts.jpg'))
except: pass
try:
read3length = len(reads[2])
x3 = data[read1length+read2length:read1length+read2length+read3length,0]
y3 = data[read1length+read2length:read1length+read2length+read3length,1]
fig = plt.figure()
plt.bar(x3,y3, align='center')
fig.suptitle('Read 3 Camera Timeouts', fontsize=20)
plt.xlabel('Cycle', fontsize=18)
plt.ylabel('#', fontsize=16)
if read3length < 50:
plt.xticks(x1, fontsize=14)
fig.savefig(join((path),'Read 3 Camera Timeouts.jpg'))
except: pass
我想让剧本试试第一个和第二个。不管他们是否工作,我希望脚本继续。你知道吗
我一直在读2长度没有定义?你知道吗
怎么回事?你知道吗
这是:
结果
在我的系统里。我猜你在引用第二个try-catch块之后的read2length。你知道吗
注意其他人所说的“除了:通过”是不好的练习。你知道吗
如果表达式
len(reads[1])
抛出异常(例如,IndexError
),那么名称read2length
永远不会分配给。你知道吗如果您的下一个
try
块尝试使用该名称,那么这将导致异常。你知道吗你真的不应该使用pokemon exception handling(你真的不想把它们都抓住)。使异常处理尽可能接近异常抛出代码,并且只处理特定的异常。你知道吗
例如,如果您想处理
reads[1]
抛出索引错误,那么只处理该异常:现在
read2length
总是绑定到一个整数。你知道吗如果
read2length
没有定义,那么问题出在第2行,len(reads[1])抛出异常。你知道吗把
reads
打印出来看看,为什么。你知道吗您还应修改
except: pass
并使用:别忘了导入
sys before
相关问题 更多 >
编程相关推荐