PDA

View Full Version : Java: errore Java.lang.NullPointerException


michele1990ref
30-04-2010, 11:29
Salve a tutti,

vi scrivo per ho riscontrato un problema in un programma java, creato per la riproduzione audio, e la registrazione audio.

Il progetto che potrete scaricare al link che segue non è originale, non è stato interemente programmato da me, ma ho semplicemente modificato un applicativo preesistente nel web.

Il problema riscontrato riguarda la parte del registratore audio (capturePlayback), che tra le funzionalità ha anche quella di poter caricare una traccia (estensioni prestabilite) e di mostrarne cosi il 'grafico'. Il problema che non riesco a risolvere è che quando scegliamo la traccia da caricare il programma restituisce il seguente errore: Java.lang.NullPointerException.

Riuscireste a darmi una mano?

il link con il progetto da scaricare e aprire con netbeans:
http://rapidshare.com/files/381870520/CapturePlayback.rar.html

Il problema non è sorto dopo le mie modifiche, ma era presente anche nel progetto originale.

grazie in anticipo

TinoIuliano
30-04-2010, 11:54
Ciao, il Java.lang.NullPointerException è l'errore più comune in java ti basta un debug per vedere dove va in errore...

Saluti.

banryu79
30-04-2010, 12:25
Basta che leggi lo stack trace della catena di eccezioni lanciate: in genere è sufficiente per capire quale è la natura del problema (cioè perchè ti ritrovi con un riferimento nullo).

Poi, se fai caso, oltre al tipo di eccezione (NullPointer) le informazioni stampate dovrebbero anche indicare il nome del sorgente e il numero di riga in cui si verifica l'errore.

Se, nonostante queste indicazioni, proprio non sai che pesci pigliare copia&incolla in un post l'output dell'eccezione, così gli possiamo dare un'occhiata.

michele1990ref
30-04-2010, 12:43
dovo aver eseguito il debug non mi dice in quale riga e in quale file è presente il problema!

come funzione e dove lo trovo lo stack trace?

banryu79
30-04-2010, 14:01
Sì scusa, ho dimenticato di dire che io sto su netbeans.
Comunque quando ti stampa l'output dell'eccezione sullo standard I/O dovresti vedere una cosa del genere:

run:
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1031)
at java.awt.Container.add(Container.java:903)
at swingexercise.textcomponents.SimpleFTF.<init>(SimpleFTF.java:69)
at swingexercise.textcomponents.SimpleFTF.main(SimpleFTF.java:78)
Java Result: 1

Se noti riporta il tipo di eccezione e la catena di invocazioni dei metodi che hanno portato all'eccezione. Per ogni chiamata viene riportato il punto nel codice in cui essa avviene: esamina l'output della tua eccezione oppure postalo qui. Comunque già queste informazioni dovrebbero aiutarti a capire dove & perchè hai un riferimento nullo.

michele1990ref
30-04-2010, 15:20
Puoi dare un occhiata direttamente al mio programma siccome lo ho hostato apposta perchè ormai a forza di lavorarci su non capisco più niente...
puoi darci un occhiata direttamente tu ?
Grazie

banryu79
30-04-2010, 16:02
Puoi dare un occhiata direttamente al mio programma siccome lo ho hostato apposta perchè ormai a forza di lavorarci su non capisco più niente...
puoi darci un occhiata direttamente tu ?
Grazie
No, non ne ho voglia.
Comunque basta che mandi in esecuzione il tuo programma con la consolle aperta finchè non avviene l'eccezione: al quel punto basta un copia-incolla del testo.

DanieleC88
30-04-2010, 18:14
Puoi dare un occhiata direttamente al mio programma siccome lo ho hostato apposta perchè ormai a forza di lavorarci su non capisco più niente...
puoi darci un occhiata direttamente tu ?
Grazie
Aspetta, adesso lo apro, lo correggo, lo estendo e te lo rimando.

:ciapet:

michele1990ref
06-05-2010, 10:57
Ciao, unica cosa che mi viene fuori scritta sulla finestra di output è:

debug:
Have no FileObject for C:\Programmi\Java\jdk1.6.0_07\jre\lib\sunrsasign.jar

Have no FileObject for C:\Programmi\Java\jdk1.6.0_07\jre\classes

java.lang.NullPointerException


tutto qui, non mi dice ne riga ne più o meno do ver avviene l'errore....

idee ?

banryu79
06-05-2010, 11:37
Prova a vedere se questo thread aiuta -> http://forums.netbeans.org/topic21007.html

fero86
06-05-2010, 12:41
No, non ne ho voglia. post dell'anno :asd: :sbonk:

michele1990ref
06-05-2010, 13:15
Ok,
ho risolto i due problemi:

Have no FileObject for C:\Programmi\Java\jdk1.6.0_07\jre\lib\sunrsasign.jar

Have no FileObject for C:\Programmi\Java\jdk1.6.0_07\jre\classes

ma mi resta sempre quel nullpointerexception che non va via...
mi aiutate ?

grazie

banryu79
06-05-2010, 13:47
Ok,
ma mi resta sempre quel nullpointerexception che non va via...
mi aiutate ?

NullPointerException può venire lanciata in due occasioni: applicazione dell'operatore di accesso '.' ad una reference che vale null oppure quando viene passato come parametro di un metodo un argomento su cui il metodo in questione, al suo interno, controlla esplicitamente se il valore è null, e in tal caso lancia esplicitamente l'eccezione.

In ogni caso senza codice da leggere nessuno ti può aiutare, e io, ripeto, non ho nessuna voglia di scaricarmi il progetto.
In genere uno ha una vaga idea di dove possa essere sucesso il pasticcio quando vede un NullPointer: in tal caso per farsi aiutare basta postare lo spezzone di codice su cui si ha un ragionevole spospetto (o addiritutra andare a investigare di persona, magari con le care vecchie System.out.printl o con il debugger).

Comunque se sei su netbeans e lanci in esecuzione il progetto, dovrebbe darti un output simile a quello che ti ho mostrato prima: la chiamata che provoca la NullPointerException dovresti vederla!

DanieleC88
06-05-2010, 17:28
post dell'anno :asd: :sbonk:
:asd: