# Class RepositoryException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
com.university.bookstore.repository.RepositoryException

All Implemented Interfaces:
  `Serializable`

public class RepositoryException extends RuntimeException
Exception thrown when repository operations fail.

This exception wraps underlying storage-related exceptions and provides a clean abstraction for the domain layer.

Since:
  2024-09-15
Version:
  3.0
Author:
  Navid Mohaghegh
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RepositoryException(String message)`
  Creates a new repository exception with the specified message.
  `RepositoryException(String message, Throwable cause)`
  Creates a new repository exception with the specified message and cause.
  `RepositoryException(Throwable cause)`
  Creates a new repository exception with the specified cause.

- ## Method Summary

  ### Methods inherited from class java.lang.Throwable

  `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### RepositoryException

    public RepositoryException(String message)
    Creates a new repository exception with the specified message.
    Parameters:
      `message` - the error message

  - ### RepositoryException

    public RepositoryException(String message, Throwable cause)
    Creates a new repository exception with the specified message and cause.
    Parameters:
      `message` - the error message
      `cause` - the underlying cause

  - ### RepositoryException

    public RepositoryException(Throwable cause)
    Creates a new repository exception with the specified cause.
    Parameters:
      `cause` - the underlying cause