I have a doubt, in user defined exception.
Is that necessary in the user defined exception, that we should have both the error code and error message as attributes? Or can we have only the error message as attribute?
Are you thinking of using the error code to help identify or classify the types of exceptions? Something similar to what Oracle does? Like whenever we attempt to insert a row with duplicate primary key, an error code would be returned? Or you're thinking along the line of HTTP status codes, the 4xx & 5xx?
The stack trace that comes with the exception would let us know which line the exception was thrown. A descriptive message that we supplied could help us or others that uses our code narrow down or pinpoint the problem.
Also, sometimes, when the name of our custom exceptions are descriptive, just by catching them alone, we would know what went wrong & just have to know which line caused the issue.
Most of the time, a descriptive name & message together with the line number from the stack trace would be sufficient for us to fix the code or handle the exception.