Bird
Raised Fist0
Spring Bootframework~5 mins

Custom exception classes in Spring Boot - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a custom exception class in Spring Boot?
A custom exception class is a user-defined class that extends Java's Exception or RuntimeException to represent specific error conditions in a Spring Boot application.
Click to reveal answer
beginner
Why create custom exception classes instead of using standard exceptions?
Custom exceptions help clearly identify and handle specific error cases, making the code easier to read, maintain, and debug.
Click to reveal answer
beginner
How do you define a simple custom exception class in Spring Boot?
Create a class that extends RuntimeException and add constructors. For example:<br><pre>public class ResourceNotFoundException extends RuntimeException {<br>  public ResourceNotFoundException(String message) {<br>    super(message);<br>  }<br>}</pre>
Click to reveal answer
intermediate
How can custom exceptions improve REST API error responses in Spring Boot?
By using @ControllerAdvice and @ExceptionHandler, you can catch custom exceptions and return meaningful HTTP status codes and messages to clients.
Click to reveal answer
intermediate
What is the difference between checked and unchecked exceptions in the context of custom exceptions?
Checked exceptions extend Exception and must be declared or caught. Unchecked exceptions extend RuntimeException and do not require explicit handling. Custom exceptions are usually unchecked for cleaner code.
Click to reveal answer
Which class should you extend to create an unchecked custom exception in Spring Boot?
AException
BRuntimeException
CThrowable
DError
What annotation is commonly used to globally handle custom exceptions in Spring Boot?
A@ControllerAdvice
B@RestController
C@Service
D@Component
Which method is used inside a custom exception class to pass an error message?
AtoString()
BgetMessage()
CprintStackTrace()
Dsuper(message)
Why might you prefer unchecked exceptions for custom exceptions in Spring Boot?
AThey force callers to handle exceptions explicitly.
BThey are slower to execute.
CThey simplify code by not requiring try-catch blocks.
DThey cannot be caught.
What HTTP status code is typically returned when a ResourceNotFoundException is thrown in a REST API?
A404 Not Found
B400 Bad Request
C500 Internal Server Error
D200 OK
Explain how to create and use a custom exception class in a Spring Boot REST API.
Think about how exceptions improve error clarity and API responses.
You got /5 concepts.
    Describe the benefits of using custom exceptions over standard exceptions in Spring Boot applications.
    Consider how custom exceptions help both developers and users.
    You got /5 concepts.

      Practice

      (1/5)
      1. What is the main purpose of creating a custom exception class in Spring Boot?
      easy
      A. To automatically fix errors without any code changes
      B. To replace all built-in exceptions with your own versions
      C. To make the application run faster by skipping error checks
      D. To handle specific error cases clearly and separately in your application

      Solution

      1. Step 1: Understand the role of custom exceptions

        Custom exceptions help you identify and manage specific error situations clearly in your code.
      2. Step 2: Compare with other options

        Replacing all exceptions or auto-fixing errors is not the goal; custom exceptions improve clarity and control.
      3. Final Answer:

        To handle specific error cases clearly and separately in your application -> Option D
      4. Quick Check:

        Custom exceptions clarify error handling = C [OK]
      Hint: Custom exceptions clarify specific errors clearly [OK]
      Common Mistakes:
      • Thinking custom exceptions replace all errors
      • Believing they fix errors automatically
      • Assuming they improve performance directly
      2. Which of the following is the correct way to declare a custom exception class in Spring Boot?
      easy
      A. public class MyException extends RuntimeException { public MyException(String message) { super(message); } }
      B. public interface MyException extends RuntimeException {}
      C. public class MyException implements RuntimeException {}
      D. public class MyException extends Exception {}

      Solution

      1. Step 1: Check correct inheritance

        Custom exceptions usually extend RuntimeException to avoid mandatory try-catch blocks.
      2. Step 2: Verify constructor usage

        Providing a constructor that calls super(message) is standard to pass error messages.
      3. Final Answer:

        public class MyException extends RuntimeException { public MyException(String message) { super(message); } } -> Option A
      4. Quick Check:

        Extend RuntimeException with constructor = D [OK]
      Hint: Extend RuntimeException and add constructor with message [OK]
      Common Mistakes:
      • Using implements instead of extends
      • Extending Exception instead of RuntimeException
      • Declaring interface instead of class
      3. Given this custom exception class:
      public class DataNotFoundException extends RuntimeException {
        public DataNotFoundException(String message) {
          super(message);
        }
      }

      What will happen if this exception is thrown in a Spring Boot controller without any handler?
      medium
      A. The exception will be ignored and the request will succeed
      B. The application will return a 500 Internal Server Error response
      C. The application will automatically return a 404 Not Found response
      D. The server will crash and stop running

      Solution

      1. Step 1: Understand default Spring Boot behavior

        Without a handler, Spring Boot treats RuntimeExceptions as server errors and returns HTTP 500.
      2. Step 2: Check other options

        Ignoring exceptions or auto 404 responses require explicit handling; server crash does not happen.
      3. Final Answer:

        The application will return a 500 Internal Server Error response -> Option B
      4. Quick Check:

        Unhandled RuntimeException = HTTP 500 error [OK]
      Hint: Unhandled RuntimeException returns HTTP 500 by default [OK]
      Common Mistakes:
      • Assuming automatic 404 response
      • Thinking exceptions are ignored
      • Believing server crashes on exception
      4. Identify the error in this custom exception class:
      public class InvalidInputException extends RuntimeException {
        public InvalidInputException() {
          super();
        }
        public void InvalidInputException(String message) {
          super(message);
        }
      }
      medium
      A. The class should extend Exception, not RuntimeException
      B. The first constructor should accept a message parameter
      C. The second method should be a constructor but is declared as void
      D. There is no error; the class is correct

      Solution

      1. Step 1: Check method declarations

        The second method has a return type void, so it is not a constructor but a normal method.
      2. Step 2: Understand constructor syntax

        Constructors must not have a return type; this causes the message constructor to be invalid.
      3. Final Answer:

        The second method should be a constructor but is declared as void -> Option C
      4. Quick Check:

        Constructor must not have return type = B [OK]
      Hint: Constructors have no return type, not even void [OK]
      Common Mistakes:
      • Adding void to constructor
      • Confusing methods with constructors
      • Extending wrong exception class
      5. How can you handle a custom exception ResourceMissingException globally in Spring Boot to return a 404 status with a custom message?
      hard
      A. Create a @ControllerAdvice class with a method annotated @ExceptionHandler(ResourceMissingException.class) that returns ResponseEntity with status 404 and message
      B. Throw ResourceMissingException inside a try-catch block and catch it in every controller method separately
      C. Override the default error page in Spring Boot without using @ExceptionHandler
      D. Use @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) on the exception class

      Solution

      1. Step 1: Use @ControllerAdvice for global handling

        This annotation allows centralized exception handling across all controllers.
      2. Step 2: Define @ExceptionHandler method for ResourceMissingException

        This method can build a ResponseEntity with HTTP 404 and a custom message to send back.
      3. Final Answer:

        Create a @ControllerAdvice class with a method annotated @ExceptionHandler(ResourceMissingException.class) that returns ResponseEntity with status 404 and message -> Option A
      4. Quick Check:

        Global handler with @ExceptionHandler = A [OK]
      Hint: Use @ControllerAdvice and @ExceptionHandler for global exception handling [OK]
      Common Mistakes:
      • Catching exceptions in every controller method
      • Using wrong HTTP status annotation
      • Overriding error page without exception handler
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard