Originariamente inviato da energie
ciao andbin grazie come sempre per la risposta molto completa,si hai centrato il problema non ho ancora trattato le eccezioni,qui di seguito ti riporto il file java in cui è presente il metodo,il problema è che lì l'eccezione è indicata...ma mi da cmq l'errore:
Premesso che il tuo sorgente compila ok e tecnicamente sarebbe corretto ma ... dal punto di vista concettuale non va bene.

Allora: innanzitutto il metodo getProperty di Properties potrebbe ritornare null (se non ha trovato la proprietà). Passare un null nel costruttore di Integer, causerebbe un NumberFormatException (che è una eccezione unchecked).
A parte questo, tu nel metodo load() hai gestito l'eccezione con try-catch, quindi le eccezioni non posso certo saltare "fuori" dal metodo.
Potresti invece fare:

codice:
public void load(FileInputStream inStream) throws Exception {
    Properties prop = new Properties();
    prop.load(inStream);
    String s = prop.getProperty("Porta");
    if (s != null)
        Porta=new Integer(s);
}
In questo modo non gestisci l'eccezione ma la dichiari. Se lì dentro viene lanciata una eccezione, allora viene lanciata al di fuori del metodo.
È chiaro che chi chiamerà il metodo load dovrà: o gestire l'eccezione con try-catch o a sua volta dichiararla con il throws.

Comunque come "design" si può sicuramente migliorare: Settings() e Settings(int porta) non generano eccezioni, quindi il throws è inutile.
Inoltre si potrebbe creare una nuova eccezione apposita per la tua gestione, un qualcosa tipo SettingsException.
Ma dipende molto da cosa e come vuoi fare.