Gran parte della risposta dipende dall'API che stai avvolgendo, dal pubblico di destinazione per il wrapping e dalla lingua che stai utilizzando. Se stai esponendo un'API scritta in una tecnologia particolare a una tecnologia diversa, ci sarebbe un valore nel risolvere alcuni dei problemi più comuni nella tecnologia avvolta. Ad esempio, .NET avvolge alcune API Win32, come CreateFile () per leggere un file. È abbastanza facile usare i parametri errati per CreateFile (), quindi se vuoi fare qualcosa di semplice come leggere un file di testo, c'è una funzione di utilità per ottenere solo quell'operazione, piuttosto che incapsulare ogni funzione con una versione avvolta.
Controllare i parametri di input per vuoti / nulli / fuori intervallo prima di chiamare l'API avvolta avrebbe valore, ma non se è a scapito delle prestazioni - meglio decifrare il problema quando la funzione incapsulata fallisce.
Le eccezioni, se disponibili nella tua lingua di wrapping, sarebbero appropriate per trasmettere errori al chiamante.