diff --git a/src/main/java/me/braydon/mc/exception/ExceptionControllerAdvice.java b/src/main/java/me/braydon/mc/exception/ExceptionControllerAdvice.java index 8bc891f..38ebdac 100644 --- a/src/main/java/me/braydon/mc/exception/ExceptionControllerAdvice.java +++ b/src/main/java/me/braydon/mc/exception/ExceptionControllerAdvice.java @@ -24,14 +24,18 @@ public final class ExceptionControllerAdvice { @ExceptionHandler(Exception.class) public ResponseEntity handleException(@NonNull Exception ex) { HttpStatus status = HttpStatus.INTERNAL_SERVER_ERROR; // Get the HTTP status - if (ex.getClass().isAnnotationPresent(ResponseStatus.class)) { // Get from the @ResponseStatus annotation + boolean hasResponseStatus = ex.getClass().isAnnotationPresent(ResponseStatus.class); + if (hasResponseStatus) { // Get from the @ResponseStatus annotation status = ex.getClass().getAnnotation(ResponseStatus.class).value(); } String message = ex.getLocalizedMessage(); // Get the error message if (message == null) { // Fallback message = "An internal error has occurred."; } - ex.printStackTrace(); // Print the stack trace + // Print the stack trace if no response status is present + if (!hasResponseStatus) { + ex.printStackTrace(); + } return new ResponseEntity<>(new ErrorResponse(status, message), status); } } \ No newline at end of file