Как отделить тип исключения от его сообщения - PullRequest
0 голосов
/ 02 июня 2018

В приложении весенней загрузки я обрабатываю исключение, используя @ControllerAdvice.Я могу обработать исключение.мое сообщение JSON - это состояние, ошибка, исключение и путь.когда я печатаю строку исключения, я получаю исключение, и это также сообщение.

Мой запрос - В параметре исключения, как напечатать только тип исключения без его сообщения.потому что сообщение, которое я печатаю по ошибке?

Еще один вопрос - я обрабатываю все типы исключений, используя только один класс, т.е. класс исключений.За каждое исключение здесь я получаю status code как 500.Можем ли мы установить другой код состояния для другого типа исключения?

Можем ли мы передать код состояния здесь throw new NullPointerException("Null values are not allowed");

@Order(Ordered.HIGHEST_PRECEDENCE)
@ControllerAdvice
public class RestExceptionHandler extends ResponseEntityExceptionHandler {

    @ExceptionHandler(Exception.class)
    public ResponseEntity<ExceptionMessage> handleAllExceptionMethod(Exception ex,WebRequest requset,HttpServletResponse res) {   

        ExceptionMessage exceptionMessageObj = new ExceptionMessage();

        exceptionMessageObj.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
        exceptionMessageObj.setError(ex.getLocalizedMessage());     
        exceptionMessageObj.setException(ex.toString());
        exceptionMessageObj.setPath(((ServletWebRequest) requset).getRequest().getServletPath());

        return new ResponseEntity<ExceptionMessage>(exceptionMessageObj, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR);

}

enter image description here

1 Ответ

0 голосов
/ 02 июня 2018

Вам нужно установить имя в вашем сообщении так:

exceptionMessageObj.setException(ex.getClass().getCanonicalName());

Например:

System.out.println(new NoClassDefFoundError().getClass().getCanonicalName());

Вернется

java.lang.NoClassDefFoundError
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...