Suppose the user has to enter his name in a field. He forgets. Your Java code throws a NullPointerException
. This is probably meaningless to the end user and encompasses a large section of defectsnot just a missing user name. How will the user know it's his fault and correct himself?
The answer is to define your own customized user-oriented exception framework. Anticipate this situation and create a customized user-oriented exception, say, UserForgetsToInsertDataException, in the framework. Then, the code should catch the NullPointerException and throw UserForgetsToInsertDataException. It should also print helpful debug messages in both console as well as log file.
// your code here
//log() prints in log file as well as console
log("User name is not found");
log("Please provide user name in proper format");
//Throw new customized user-oriented exception
throw new UserForgetsToInsertDataException("Name Not Found");