2013-08-17 16 views
7

C'è un modo per definire i miei errori di compilazione per Eclipse? Voglio generare errori di compilazione se alcuni oggetti non vengono istanziati.È possibile definire i miei errori in Eclipse?

per darvi esattamente quello che voglio fare:

Ho un classe Assets che contiene le variabili nulli per tutte le risorse (immagini, suoni, ecc) e una classe LoadingScreen che inizializza tutti questi oggetti risorsa. Se aggiungo una risorsa alla classe Assets ma non alla classe LoadingScreen, rovinerà l'intera applicazione. Voglio vedere un errore in eclissi se le variabili nella classe Assets non vengono inizializzate anche in LoadingScreen.

È possibile?

+3

È possibile farlo. Avrai bisogno di scrivere un plugin Eclipse per farlo. Non ho familiarità con lo sviluppo di Eclipse, ma probabilmente dovrai scrivere un builder e potrebbe essere necessario creare anche un nuovo aspetto. Per un progetto di dimensioni decenti, potrebbe essere preferibile utilizzare Maven in ogni caso e implementarlo come un mojo. – chrylis

+0

Bene, Eclipse emette un avviso se si dimentica di creare un'istanza di un oggetto, ma si verifica un errore in fase di esecuzione. Tuttavia, puoi configurarlo come un errore. Vedi [here] (http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings. htm) per aprire le preferenze di Eclipse e configurare "Accesso puntatore nullo" come errore. – gparyani

+1

Non userei Eclipse per questa attività, ma provo a usare un analizzatore di codice sorgente come [PMD] (http://pmd.sourceforge.net/) o [Checkstyle] (http://checkstyle.sourceforge.net/) . – LaurentG

risposta

1

Sono d'accordo con LaurentG, penso che dovresti risolvere questo problema a livello di Java. Ad esempio, potresti avere un metodo che alla fine esegue alcuni controlli finali in cui verificherai se una delle tue risorse ha un puntatore nullo e genera un'eccezione personalizzata se ne rilevi.

if (resourceObject==null) { 
throw new CustomException("Null pointer for resource object detected"); 
} 

public class CustomException extends Exception { 
    public CustomException (String errorMsg) { 
    super(errorMsg); 
    } 
} 

Tuttavia, ci sono troppe incognite per dare una risposta davvero precisa e accurata. Qualche codice sarebbe sicuramente d'aiuto.

1

Penso che tu possa creare un nuovo plugin o modificare jdt. Gli errori vengono rilevati durante la compilazione utilizzando il compilatore Batch di eclissi. Dovresti dare un'occhiata a this e this.

Problemi correlati