Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    655

    [JAVA] Errore con eccezione personale

    Ho creato una classe che è la mia eccezione personalizzata, in un altro file ho un'altra classe che ha il seguente metodo
    codice:
    class Prova
    {
    public void metodo1() throws MiaEccezione
    {
    throw new MiaEccezione();
    }
    }
    Purtroppo ho il seguente errore che non riesco a capire:

    Exception MiaEccezione is not compatible with throws clause in VagliaPostali.(Questo è il package)
    metodo1()

    Che ne dite?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    655
    Ho capito dov'è l'errore ma non me lo spiego: nella classe Prova se passo come argomento un float ho l'errore su indicato, sennò tutto fila liscio

  3. #3
    qualche infoin più (stack trace, codice, ...)?

  4. #4
    Originariamente inviato da kadorit
    Ho capito dov'è l'errore ma non me lo spiego: nella classe Prova se passo come argomento un float ho l'errore su indicato, sennò tutto fila liscio
    a cosa passi l'argomento float? Se al metodo1 è questo il problema; il metodo1 non accetta argomenti e viene sollevata un eccezione che non è MiaEccezione

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    655
    Si, l'argomento float lo passo al metodo1.
    1)Perchè il metodo1 non dovrebbe accettare argomenti?
    2)Ho l'errore nel metodo1 solo quando scrivo throws MiaEccezione, sennò il metodo accetta tranquillamente argomenti di tipo float.

    Grazie

  6. #6
    acceterebbe argomento float se la sua firma fosse metodo1(float mioFloat). Nel tuo caso così non è.

    Prova a togliere throws MiaEccezione dalla dichiarazione del metodo e a richiamare il metodo all'interno di un try/catch:

    Prova prova = new Prova();

    try {
    prova.metodo1(iltuofloat);
    } catch (Throwable t) {
    t.printStackTrace();
    }

    E vedi che succede.

    Prova poi a dichiarare il metodo con throws MiaEccezione e vedi che succede.

    Prova poi a dichiarare il metodo con throws Exception e vedi che succede.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    655
    Ti ringrazio per la pazienza, ma mi sono spiegato male, l'errore lo ho in fase di compilazione poichè quando scrivo
    codice:
    class Prova
    {
    public void metodo1() throws MiaEccezione
    {
    throw new MiaEccezione();
    }
    }
    Funziona, se invece scrivo

    codice:
    class Prova
    {
    public void metodo1(float importo) throws MiaEccezione
    {
    throw new MiaEccezione();
    }
    }
    Ho un errore, quindi senza che vado a richiamare il metodo, ma ho l'errore direttamente in compilazione.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    655
    Ho risolto,(spero) l'errore sarà in qualche interafccia che implemento, ti faccio sapere appena risolvo.
    Grazie mille ancora.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.