* Null reference
Null reference is every programmer's nightmare. Null reference happens when an object is referenced without being initialized. Every programmer knows how to solve this error. They also know how to check and prevent this. But most of the times this error creeps in unexpected. In most cases this error is pretty hard to debug and fix. As a concept null means empty - nothing - vacuum. Funny thing is programming languages allow you to pass null around. How can I transfer nothing to you. In real life passing nothing is meaningless. But there is a reason for this in programming. Each program has a logic which dictates when a value is assigned to an object. At the beginning it will be empty. After some event it will have certain value. After some other event it will have some other value and then it will be out of scope and die. Developer will specifically set null to a variable to indicate there is no meaningful value available at the time. Another aspect is about allocating memory...