A base class for exceptions the client might want to handle that can be thrown during the replacement process.
Create an instance of this exception without message and cause.
Create an instance of this exception with a message.
Create an instance of this exception with a cause.
Create an instance of this exception with a message and a cause.