Esiste uno standard di best practice o di settore per il lancio di eccezioni da un'API del toolkit?Definizione delle eccezioni che possono essere generate da un'API del toolkit
Se l'utente che sta affrontando i metodi cattura e termina Exception
in una sorta di CustomException
in modo che gli utenti debbano solo preoccuparsi di CustomException
s che escono dall'API?
Oppure la convenzione è quella di far saltare le bolle?
Siamo preoccupati di poter documentare tutte le possibili eccezioni che i nostri metodi API potrebbero generare. (Ad esempio, se il nostro metodo API chiama Stream.Write()
che genera 4 o 5 eccezioni, dovremmo documentare tutti quelli oltre alle altre eccezioni che altri metodi chiamati potrebbero generare.)
Stavamo pensando di fare qualcosa come questo:
public void customerFacingApiMethod(){
try {
//api functionality goes here
} catch (Exception e) {
throw new CustomException(e);
}
}
+1 per non nascondere i dettagli delle eccezioni interne – Oded
In linea di principio, siamo d'accordo. Ma cosa succede se una delle chiamate che stiamo apportando cambia un'eccezione che genera, ora la nostra documentazione non è sincronizzata. O se la loro documentazione non è corretta e c'è un'eccezione generata che non è documentata. –
cosa succede se se cosa. È possibile che tu stesso a morte, il punto è che stai distruggendo la più grande caratteristica di eccezioni, che è che sono digitati. – Fred