2017-10-24 7 views
0

私はロンボクプロジェクトを使い始めましたが、疑いがありました。私は1つの引数method(@NonNull arg)を持つメソッドを持っています。ヌル引数method(null)でそのメソッドを呼び出すと、次の例外が発生します。java.lang.NullPointerException: argロンボクを使って@NonNull例外で自分のカスタムメッセージを投げる方法はありますか?

しかし、私はその例外メッセージが他のものの代わりにarg cannot be nullのようなものを言うことを望みたいと思います(そのメッセージの意味にかかわらず、@ NonNullアノテーションを使って例外メッセージをどのように分類するのか知りたいだけです)。

ありがとうございます!

答えて

0

Lombok's documentationによれば、@NonNullアノテーションは関数の先頭にif文を追加して、ヌルかどうかをチェックします。あなたが他のライブラリを使用したくないのであれば、あなたはそれを自分だけで行うことができます:

class NullArgumentException extends IllegalArgumentException { 

    public NullArgumentException() { 
     super("arg cannot be null"); 
    } 
} 

public class Test { 

    public static void main(String[] args) { 

     try { 
      foo(null); 
     } catch(IllegalArgumentException e) { 
      // or System.out.println(e.getMessage()) 
      e.printStackTrace(); 
     } 
    } 

    public static void foo(Integer i) throws IllegalArgumentException { 
     if(i == null) throw new NullArgumentException(); 
    } 
} 
0

ロンボク@NonNullこれを許可しない。
javax.validation.constraintsパッケージの@NotNull(message = "arg cannot be null")を試してみてください。

0

あなたがすることはできません。

ただし、代わりにIllegalArgumentExceptionをスローするようにlombokを構成することができます。それはメッセージarg is nullを持っています。

これを設定するには、をlombok.configファイルに追加します。

開示:私はロンボクの開発者です。

+0

あなたは追加するのが良い機能だとは思わない?私はメソッドが2つの引数method(arg1、arg2)を持っていて、 "arg1とarg2は必須"というような例外をスローしたいと考えています。 –

関連する問題