In hanno scritto una funzione che si aspetta che il chiamante passi in un file di configurazione come XML. Quindi analizzo questo file dato ed estrai qualcosa che poi restituisco.
In questa funzione (almeno) possono accadere due cose "cattive":
- Il file specificato non esiste o non è accessibile in alcun modo
- Durante l'analisi / convalida del file, viene trovato del contenuto non previsto
La prima cosa è chiaramente un IllegalArgumentException
. Tuttavia non sono sicuro di quale tipo di eccezione sarebbe il secondo caso. È anche un IllegalArgumentException
perché mi aspetto (per contratto di documentazione) che l'input sia in una forma valida? O è piuttosto un IllegalStateException
in quanto il parametro dato è formale corretto ma solo dopo l'analisi non posso fare ulteriori passaggi in quanto comporterebbe un comportamento indesiderato?
O è anche qualcos'altro?