2013-08-17 8 views
7

Eclipseに自分のコンパイルエラーを定義する方法はありますか?特定のオブジェクトがインスタンス化されていない場合、コンパイルエラーをスローしたいEclipseで私自身のエラーを定義することはできますか?

私がやりたいことを正確に何を与えること:

を私はすべてのリソース(画像、音など)およびこれらのリソース・オブジェクトのすべてを初期化LoadingScreenクラスにnullの変数を保持しているAssetsクラスを持っています。リソースをAssetsクラスに追加しますが、LoadingScreenクラスには追加しないと、アプリケーション全体が混乱します。 Assetsクラスの変数がLoadingScreenでも初期化されていない場合は、eclipseでエラーを表示したいと考えています。

これは可能ですか?

+3

これは可能です。これを行うには、Eclipseプラグインを作成する必要があります。私はEclipse開発に精通していませんが、おそらくビルダーを書く必要があり、新しいファセットを作成する必要があるかもしれません。適度な規模のプロジェクトでは、どんな場合でもMavenを使用し、これをmojoとして実装する方が良いかもしれません。 – chrylis

+0

さて、オブジェクトをインスタンス化するのを忘れた場合、Eclipseは警告を出しますが、実行時にエラーが発生します。ただし、エラーとして構成することはできます。 [ここ](http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warningsを参照してください。 htm)を使用してEclipse環境設定を開き、「NULLポインタ・アクセス」をエラーとして構成します。 – 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バッチコンパイラを使用してコンパイルすると、エラーが検出されます。 thisthisをご覧ください。

関連する問題