Есть ли замена для EXIT_SUCCESS и EXIT_FAILURE в Java? - PullRequest
17 голосов
/ 14 августа 2011

В программе на Си я обычно использую EXIT_SUCCESS или EXIT_FAILURE в функции exit(), чтобы улучшить ясность и понятность программы.

Но в System.exit() я не мог использовать эти MACROS.

Я могу определить свой собственный интерфейс как

public interface ReturnValues {
  public int EXIT_SUCCESS = 0;
  public int EXIT_FAILURE = 1;
}

Кроме моей собственной реализации, есть лиДругой способ в Java, чтобы использовать эти макросы?(например, использование предопределенных переменных класса библиотеки или реализация предопределенного интерфейса и т. д.)

Ответы [ 3 ]

9 голосов
/ 14 августа 2011

Нет, в Java нет предопределенных констант для SUCCESS и FAILURE.Конечно, потому что может быть несколько разных типов сбоев, в зависимости от каждого конкретного приложения.

5 голосов
/ 14 августа 2011

В Java нет макросов. System.exit(0) и System.exit(-1) достаточно читабельны и не слишком сложны.

1 голос
/ 14 августа 2011

В Java используйте перечисления для такого рода вещей:

public enum ReturnValue {
    SUCCESS(0),
    FAILURE(-1);

    private int returnCode;

    private ReturnValue(int returnCode) {
        this.returnCode = returnCode;
    }

    public int getReturnCode() {
        return returnCode;
    }
}

Для использования:

System.exit(ReturnCode.FAILURE.getReturnCode());
...