Attualmente eseguo il wrapping di una libreria C in Java, semplificando l'utilizzo e il lavoro con la programmazione OO. La libreria C utilizza i codici di errore (int return value) e Out-Parameter per la manipolazione dei dati. Non sono necessariamente un fan dei codici di errore, quindi mi piacerebbe creare alcune classi di eccezioni personalizzate che posso lanciare se la mia libreria rileva un codice di errore diverso da "successo".Ci sono molte eccezioni in Bad design in Java?
L'unico problema è che la quantità di eccezioni che potrebbero essere generate da ogni singolo metodo è molto alta (ci sono alcuni codici di errore che possono essere restituiti da ogni funzione della libreria C, come "Device_Not_Connected"). È passato un po 'di tempo dall'ultima volta che ho programmato in Java, quindi non so davvero quale sia la situazione con Exceptions in Java.
- I metodi che generano molte eccezioni differenti design errato?
- Devo gestire le eccezioni o esiste un modo per ignorarlo semplicemente?
- Se riesco a ignorare un'eccezione, fa esplodere l'albero delle chiamate (ad esempio in Python)?
- Esistono alternative alle eccezioni in Java oltre ai codici di errore e ai no-op?
Una buona regola generale è di aver controllato eccezioni per una condizione che il chiamante può recuperare. – nickb