Ad esempio per la seguente firma del metodo:
def genClusters(n_clusters, n_nodes, cluster_distribution):
n_clusters
dovrebbe essere un numero intero superiore a 1.
n_nodes
dovrebbe essere un numero intero superiore a n_clusters
cluster_distribution
dovrebbe essere un float compreso tra 0 e 1.
Devo usare una serie di istruzioni if then raise exception
per gestire i limiti dei parametri dell'argomento?
es:
def genClusters(n_clusters, n_nodes, cluster_distribution):
if (cluster_distribution < 0 or cluster_distribution > 1):
raise ValueError("cluster distribution must be between 0 and 1")
if n_clusters < 1:
raise ValueError("n_clusters must be at least 1")
if n_nodes <= n_clusters:
raise ValueError("n_nodes must be at least n_clusters")
La seconda domanda è se dovrei includere queste istruzioni di eccezione in ogni metodo che chiama anche questo.
Ad esempio:
def myFoo(foo, bar, bang):
clusters = genClusters(foo, bar, bang)
In questo scenario, se foo, bar o bang non si adattano ai limiti di parametri precedentemente definiti, verrà generata un'eccezione quando viene chiamata genClusters
. Quindi dovrei anche escludere le eccezioni all'inizio di myFoo
?