Is there an beautiful way to assert pre-conditions in Java methods?

后端 未结 8 2147
慢半拍i
慢半拍i 2021-01-02 02:08

A lot of my functions have a whole load of validation code just below the declarations:

if ( ! (start < end) ) {
    throw new IllegalStateException( \"S         


        
8条回答
  •  难免孤独
    2021-01-02 02:44

    You might be able to do this with annotation and aspect orientated programming.

    I would use IllegalArgumentException if an argument combination is not legal. I would use IllegalStateException is in a state which prevents the method from working.

    You can create a helper method for the exception.

    public static void check(boolean test, String message) {
        if(!test) throw new IllegalArgumentException(message);
    }
    
    check(start < end, "Start must be before end.");
    

提交回复
热议问题