簡體   English   中英

是否有用於驗證函數輸入的內置Python異常?

[英]Is there a built-in Python Exception for validation of function input?

我有一個函數,期望元組作為參數之一

def func(x,
         t # t should be a tuple of a predefined type (str, bool, str)
         ):
    ...

是否存在一個內在錯誤,適合說t不是正確的類型,還是我應該定義自己的錯誤?

是的, TypeError異常旨在用於這種情況:

在將操作或功能應用於不合適類型的對象時引發。

[...]

傳遞錯誤類型的參數(例如,當需要int時傳遞list )應導致TypeError [。]

您可能需要研究使用類型提示 ,以捕獲程序員在早期傳入錯誤類型的錯誤。 例如,我們在棉絨時間檢查類型提示。

您可以使用TypeError異常。

是的,這通常由TypeError指示。 或者,如果參數的類型正確,但其值無效,則使用ValueError

但是,在很多情況下(尤其是TypeError ),您不必顯式地提出這些要求; 當您嘗試執行該類型不支持的操作時,它們自然就會發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM