1
我最近聽到的使用語句使用try和除蟒
try:
和
except WhateverError:
我只是想知道,如果它是一個很好的處理在Python異常的可能性在定義下一堂課時使用它的想法。 它應該代表一個地形。矩陣的每個數字表示它的座標,數字是該座標的高度。
class base_terreny(object):
# create default mxn terrain #
def __init__(self, rows, columns):
self.rows=rows
self.columns=columns
self.terrain=[[0]*columns for _ in range(rows)]
def __getitem__(self, pos): #return height of coordinate
try:
return self.terrain[pos[1]][pos[0]]
except (IndexError,TypeError):
return 0
def __setitem__(self, pos, h): #set height
try:
self.terrain[pos[1]][pos[0]]=h
except (IndexError,TypeError):
return None
或者它會更好地做到這一點,如:
if pos[0]<=self.columns and pos[1]<=self.rows:
self.terrain[pos[1]][pos[0]]=h
請參見[Python寬恕與權限和鴨子鍵入](http://programmers.stackexchange.com/q/175655) – 2013-04-24 20:29:45
您的語法不正確;要捕獲多個異常,請將它們指定爲一個元組:'except(IndexError,TypeError):'。 – 2013-04-24 20:30:12
在這種情況下,請使用異常處理程序;走出界限將是例外。 – 2013-04-24 20:31:59