2009-01-19 40 views

回答

4

調用者觸發此異常,而不是接收者。

如果你想接收功能明確檢查參數的數量,您需要使用可變參數:

def fun_name(*args): 
    if len(args) != 2: 
    raise TypeError('Two arguments required') 
+0

謝謝亞歷克。 我是新來的Python ....所以請回答這個問題。如果我想使用fun_name中的args值,比如說調用另一個函數,我該怎麼做? – user46646 2009-01-19 07:39:38

-2

如果您刪除了try...catch零件,它應該會顯示它正在拋出什麼樣的異常。

4

你需要一個調用函數來處理它。

try: 
    fun_name(...) 
except TypeError: 
    print "error!" 
0

如果調用了錯誤數量的參數的函數,則有兩種可能性:

  • 要麼你設計你的函數來處理的參數任意數量。那麼你應該知道如何處理額外的參數。亞歷克托馬斯的答案告訴你如何處理這個案件。
  • 或者你的設計有根本​​性的缺陷,而且你陷入了困境。在這種情況下捕獲錯誤不起作用。
相關問題