Problem Statement
Describe how and when you would create a custom exception class in your application.
Explanation
You create a custom exception when you need to represent a domain-specific error condition that built-in exceptions don’t model. For example in a banking app you may define `InsufficientFundsException`. The custom exception typically extends a base exception type, adds meaningful context (like account ID, amount) and is thrown when your logic detects the condition. This improves clarity of error handling and makes catch blocks more expressive.