2015-06-30 6 views
1

Как создать пользовательские сообщения о статусе и сообщениях с ошибкой. Я работаю над веб-сервисами. Первоначально я генерировал их случайным образом. Ниже приведен код. Но теперь я хотел бы удалить из него случайную функцию. Моя цель - установить исключения (например) с сообщением об ошибке и отправить его клиенту.Сгенерировать пользовательский статус вместе с сообщениями об ошибках

String[] status = { "SUCCESS", "ERROR", "LOCKED", "EXCEPTION" }; 
Random ran = new Random(); 
String gen = status[ran.nextInt(status.length)]; 
logger.debug("Status is" + status); 
outData.setStatus(gen); 

if (gen.equals("SUCCESS")) { 
    outData.setErrorDetails(""); 
} else if (gen.equals("ERROR")) { 
    outData.setErrorDetails("Usage of time code VAC is not allowed; balance is insufficient." + " error"); 
} else if (gen.equals("LOCKED")) { 
    outData.setErrorDetails("Timesheet cannot be edited because it is locked for payroll close." + "locked"); 
} else if (gen.equals("EXCEPTION")) { 
    outData.setErrorDetails("{ML}QR_INCORRECT_CONDITION_PARAMETER{/ML}Error in condition AWA Is Self Override Condition:java.lang.NullPointerException{ARGS}AWA Is Self Override Conditionjava.lang.NullPointerException{/ARGS" + "exception"); 
} 
returnList.add(outData); 

ответ

0

Используйте HashMap. Это уменьшит ваш код.

использовать что-то вроде -

Map<String, String> statusMsgMap = new HashMap<String, String>(); 
statusMsgMap.put("SUCCESS", "Your Success Message"); 
statusMsgMap.put("ERROR", "Your Error Message"); 
statusMsgMap.put("LOCKED", "Your Locked Message"); 
statusMsgMap.put("EXCEPTION", "Your Exception Message"); 

outData.setErrorDetails(statusMsgMap.get(gen)); 
+0

Спасибо. Поэтому в случае, допустим, у меня есть несколько исключений в моем классе java, могу ли я просто установить каждое исключение в statusMsgMap.put («EXCEPTION», «С каждым конкретным исключением msg»); Предположим, что это исключение NullPointerException, я бы хотел, чтобы оно выполнялось как NPE, а если оно IO, то оно должно быть отправлено как IO. – alfredo123

+0

На данный момент вы проверяете как - gen.equals ("EXCEPTION"). Итак, как вы узнаете, какое это исключение? Вы не можете сохранить несколько значений для одного и того же ключа на карте. Проверьте, есть ли у вас другое значение gen для разных исключений, в этом случае вы можете сохранить индивидуальный msg для каждого из этих разных значений gen –

+0

До этого времени требовалось только обеспечить случайное сгенерированное сообщение. Это было в основном заглушкой. Но теперь требования изменились. Точное сообщение об ошибке/ошибке должно быть отправлено обратно. Я пытаюсь использовать логическую переменную как глобальную переменную для проверки ошибок во всем коде, а затем отправить сообщение с соответствующим статусом как SUCCESS/ERROR/EXCEPTION/LOCKED вместе с msg, а не использовать обычный подход, например: - выбросить NPE («Сообщение»); – alfredo123

Смежные вопросы