ho ricevuto il seguente messaggio di errore quando si tenta di eseguire il debug di un'applicazione in NetBeans:Come posso identificare una classe interna anonima in un NotSerializableException
java.io.WriteAbortedException: scrittura abortito; java.io.NotSerializableException: board.Board $ 1
Nel corso di debug ho dovuto inserire 'implementa Serializable' in un certo numero di classi come l'eccezione è sorto nel corso della lettura da un file che memorizza una grande oggetto Questo non è stato difficile in quanto la classe che ha bisogno di attenzione è stata chiara dal messaggio di eccezione. Ciò che mi ha gettato è l'apparente anonima classe interna 'Consiglio $ 1'. Non posso per la vita di me identificare la fonte con 'Board' che sta causando il problema. Come posso fare questo?
Poiché si tratta di una pratica di debug piuttosto che di specifiche del codice (credo), non l'ho inclusa, ma posso aggiungerla facilmente se aiuta.
Ho copiato i miei file su Eclipse e ho utilizzato Package Explorer per scavare nel Board ma non ho trovato nulla. Ma sulla base della firma che hai usato, nuovo Object() {}, ho trovato il nuovo MouseAdapter() {...}, che non sembra apparire in Eclipse o NetBeans. Ho inserito il transient per impedirne la scrittura sul file. Sembra funzionare, ma ora ho un altro bug non correlato ... Ci lavorerò ora, supponendo di aver risolto questo. – forsate
OK - l'altro bug non correlato è risolto come il problema originale. Ovvio a posteriori. Molte grazie, Lukas. Ora mi chiedo se un po 'di codice sospetto da parte mia sia la ragione per cui MouseAdapter non viene visualizzato, ma questo è un altro problema. – forsate