我已經構建了一個最大堆,並試圖提取最大隻要有元素。如果沒有我正在返回一個IndexError。這個代碼我試圖執行:Python捕捉異常,但打印它們
while True:
try:
print hp.extract_max()
except:
break
,並在extract_max()方法:
def extract_max(self):
if self.size == 0:
return IndexError
item = self.items[0]
self.items[0] = self.items[self.size - 1]
self.heapify_down()
del self.items[len(self.items) - 1]
return item
但是,代碼是不是在遇到一個IndexError,而打印出來太破。 而循環沒有中斷。
<type 'exceptions.IndexError'>
<type 'exceptions.IndexError'>
....
它保持打印異常,不會中斷循環。
有什麼問題?
它似乎在這裏發佈的代碼是無論是從什麼Ÿ不完整或不同你在跑步。 –