2013-08-17 55 views
7

有沒有辦法爲Eclipse定義我自己的編譯錯誤?如果某些對象沒有實例化,我想拋出編譯錯誤。是否可以在Eclipse中定義我自己的錯誤?

爲了讓你正是我想做的事:

我有一個Assets類,適用於所有資源空變量(圖像,聲音等)和LoadingScreen類初始化所有這些資源對象。如果我將這個資源添加到Assets類而不是LoadingScreen類中,它會弄亂整個應用程序。如果Assets類中的變量未在LoadingScreen中初始化,我希望在eclipse中看到一個錯誤。

這可能嗎?

+3

你可以這樣做。你需要編寫一個Eclipse插件來完成它。我對Eclipse開發並不熟悉,但您可能需要編寫一個構建器,並且可能還需要創建一個新的方面。對於一個體面大小的項目,在任何情況下使用Maven可能會更好,並將其實施爲mojo。 – chrylis

+0

那麼,如果你忘記實例化一個對象,Eclipse會發出警告,但是在運行時會發生錯誤。但是,您可以將其配置爲錯誤。參見[here](http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings。 htm)打開Eclipse首選項,並將「空指針訪問」配置爲錯誤。 – gparyani

+1

我不會使用Eclipse進行此任務,但嘗試使用源代碼分析器作爲[PMD](http://pmd.sourceforge.net/)或[Checkstyle](http://checkstyle.sourceforge.net/) 。 – LaurentG

回答

1

我同意LaurentG,我認爲你應該在Java層面解決這個問題。例如,你可以有一個方法,在最後進行一些最終檢查,你將檢查你的資源是否有空指針,如果你檢測到任何資源時會拋出一個自定義異常。

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

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

但是,有太多的未知數給出一個非常準確和準確的答案。一些代碼肯定會有所幫助。

1

我認爲你可以創建一個新的插件或修改jdt。 使用eclipse Batch編譯器編譯時檢測到錯誤。你應該看看thisthis

相關問題