2013-08-17 18 views
7

Czy istnieje sposób definiowania własnych błędów kompilacji dla Eclipse? Chcę zgłaszać błędy kompilacji, jeśli pewne obiekty nie są tworzone.Czy można zdefiniować własne błędy w Eclipse?

aby dać Ci dokładnie to, co chcę zrobić:

Mam klasy Assets który przechowuje zmienne null dla wszystkich zasobów (obrazy, dźwięki, itp) i LoadingScreen klasę, która inicjuje wszystkich tych obiektów zasobów. Jeśli dodaję zasób do klasy Assets, ale nie do klasy LoadingScreen, to zepsuje całą aplikację. Chcę zobaczyć błąd w czasie zaćmienia, jeśli zmienne w klasie Assets nie zostały również zainicjowane w LoadingScreen.

Czy to możliwe?

+3

Możesz to zrobić. Aby to zrobić, musisz napisać wtyczkę Eclipse. Nie jestem zaznajomiony z rozwojem Eclipse, ale prawdopodobnie będziesz musiał napisać buildera i być może będziesz musiał również stworzyć nowy aspekt. W przypadku projektu o przyzwoitej wielkości lepiej może być użycie Mavena w każdym przypadku i zaimplementować to jako mojo. – chrylis

+0

Cóż, Eclipse wydaje ostrzeżenie, jeśli zapomnisz utworzyć instancję obiektu, ale błąd wystąpi w czasie wykonywania. Możesz jednak skonfigurować go jako błąd. Zobacz [tutaj] (http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings. htm), aby otworzyć preferencje Eclipse i skonfigurować "zerowy dostęp do wskaźnika" jako błąd. – gparyani

+1

Nie użyłbym Eclipse do tego zadania, ale spróbuj użyć analizatora kodu źródłowego jako [PMD] (http://pmd.sourceforge.net/) lub [Checkstyle] (http://checkstyle.sourceforge.net/) . – LaurentG

Odpowiedz

1

Zgadzam się z LaurentG, myślę, że powinieneś rozwiązać ten problem na poziomie Java. Na przykład, możesz mieć metodę, która na końcu kończy niektóre kontrole końcowe, w których możesz sprawdzić, czy któryś z twoich zasobów ma wskaźnik zerowy i wyrzucić niestandardowy wyjątek, jeśli go wykryjesz.

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

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

Jednak istnieje zbyt wiele niewiadomych, aby dać bardzo precyzyjną i dokładną odpowiedź. Jakiś kod na pewno pomoże.

1

Myślę, że możesz stworzyć nową wtyczkę lub zmodyfikować jdt. Błędy są wykrywane podczas kompilacji za pomocą kompilatora wsadowego Eclipse. Powinieneś spojrzeć na this i this.

Powiązane problemy