2011-08-31 14 views
13

Quindi sto usando NetBeans come IDE per lo sviluppo di Android.NetBeans e stop/interruzione su tutte le eccezioni?

Tuttavia, quando ottengo un'eccezione, Netbeans non interrompe l'eccezione come mi aspetto.

Ho selezionato la casella "Interrompi eccezioni non rilevate" che è possibile trovare in Opzioni -> Debugger Java -> Arresta eccezioni non duplicate ma ciò non aiuta.

Inoltre, dove è possibile visualizzare il messaggio di eccezione effettivo? Non vedo nulla. In questo momento non ho idea di dove e quando si verifichi un'eccezione, solo che si verifica.

Ho letto alcuni su netbeans.org (nella cache, il sito sembra essere inattivo) su un bug in 6.9.1 che è stato corretto, ma non sembra essere corretto in 7.0 che ho.

La finestra di debug non dice nulla di utile, fornisce qualche forma di stacktrace che è inutile in quanto non specifica alcuno dei miei codici.

ho acceso da Eclipse IDE causa che fa schifo, NetBeans è molto più snella, ma la messa a punto deve essere risolto per essere utile ...

+0

Dang Ho davvero bisogno di una risposta a questa domanda! – brenjt

+2

Nel caso qualcuno venga qui a dover interrompere le eccezioni nel codice nativo, nella finestra della console di debug, immettere 'catch throw' per interrompere qualsiasi eccezione generata e' catch catch 'per interrompere qualsiasi eccezione rilevata. Leggi la [documentazione GDB] (http://www.gnu.org/software/gdb/documentation/) per [quei comandi] (http://sourceware.org/gdb/current/onlinedocs/gdb/Set-Catchpoints. html # Set-Catchpoints) per rompere su specifici tipi di eccezioni. – doug65536

risposta

9

ho questo problema quando uso NetBeans troppo. Per ottenere il messaggio di eccezione, utilizzo try-and-catch. Nell'istruzione catch(), chiama una funzione che contiene del codice e inserisce un punto di interruzione. Quindi, quando viene emessa l'eccezione, verrà richiamato il punto di interruzione nell'istruzione catch e sarà possibile leggere le informazioni (messaggio di errore, stack, ecc.) Dall'eccezione Obect.

try 
{ 
    // Doing something here 
} 
catch (Exception e1) 
{ 
    // This is called when an exception occurs 
    doSomething(); /// Put breakpoint here 
} 

UPDATE:

Non sono sicuro se questo funzionerà per Android, ma si potrebbe provare a inserire un "Nuovo punto di interruzione". Quando si inserisce un nuovo punto di interruzione per interrompere un'eccezione, è necessario conoscere il nome esatto del pacchetto/classe . Ad esempio, se si desidera catturare un valore NullPointerException , passare a Debug >> New Breakpoint per creare un nuovo punto di interruzione e immettere java.lang.NullPointerException nel campo Nome classe di eccezione nella finestra di dialogo Proprietà breakpoint . Scegli se interrompere le eccezioni rilevate, non rilevate o entrambe, e colpirà un punto di interruzione se quel tipo di eccezione si verifica mai nella classe/progetto.

+0

thx ... ma ci deve essere un modo in cui si comporta come in Visual Studio, cioè si rompe sulla linea dell'eccezione? – Ted

+1

Controllare l'aggiornamento per un'altra possibile soluzione. –

+0

Thx, ma non è quello che cerco sfortunatamente = (ne ho bisogno per rompere dove si verifica l'eccezione, senza che io imposti un breakpoint. Alla fine, sono passato a Eclipse ... = ( – Ted

0

Avevo un comportamento simile in cui avevo il mio file sorgente che generava l'eccezione NON in "pacchetto predefinito". Quando ho spostato tutto in "pacchetto predefinito" ha iniziato a funzionare correttamente e interrompe automaticamente l'eccezione.

Problemi correlati