java.lang.NullPointerException is the exception which is thrown when code tries to access member of the object using reference which is actually pointing to null.
ClassXYZ objRef = null;objRef.getField(); So What should be done to properly handle such situation.Approach 1
ClassXYZ objRef = new ClassXYZ();objRef.setField(null); if(objRef.getField() != null) { objRef.getField().getSubField(); }
Approach 2
ClassXYZ objRef = new ClassXYZ();objRef.setField(null); if(objRef.getField() != null) { objRef.getField().getSubField(); } else { LOGGER.error("Null Pointer Exception Occured"); }Approach 3ClassXYZ objRef = new ClassXYZ();objRef.setField(null); try { objRef.getField().getSubField(); } catch (NullPointerException ex) { LOGGER.error("Null Pointer Exception Occured");}
Is it expected to have null for the Field. If Yes, Then we should put a null check so that no error is logged and it will just be ignored.If we want some message to be logged, we can follow approach 2. Though It's a bad practice and should be avoided normally.But If we want complete error trace to be logged or we want this handling to be thrown to caller , we should handle it as an exception.