Вместо того, чтобы создать специальный объект для типа возврата, я обычно просто возвращаю массив, где вся возвращенная информация хранится. Преимущество - то, что можно расширить этот массив с помощью новых элементов, не создавая новые типы и путаницу. Оборотная сторона необходимо знать точно, что должны представить элементы, когда массив возвращается из конкретного метода для парсинга ее правильно. Обычно я договариваюсь об определенной структуре, как первый элемент всегда булев успех признака, второй Строка с описанием, остальное является дополнительным. Пример:
public static void main(String[] args)
{
Object[] result = methodReturningStatus();
if(!(Boolean)result[0])
System.out.println("Method return: "+ result[1]);
}
static Object[] methodReturningStatus()
{
Object[] result = new Object[2];
result[0] = false;
result[1] = "Error happened";
return result;
}
Используйте !
команда.
echo This returns success
! echo This returns failure