तकनीकी रूप से और वैचारिक रूप से किसी त्रुटि को इंगित करने के लिए NULL (या संख्यात्मक शून्य, या बूलियन असत्य) लौटना गलत है।
तकनीकी रूप से, आप प्रोग्रामर पर वापस लौटने के मूल्य की तुरंत जाँच कर रहे हैं , ठीक उसी बिंदु पर जहाँ वह लौटा है। यदि आप एक पंक्ति में बीस फाइलें खोलते हैं, और NULL को वापस करके त्रुटि सिग्नलिंग की जाती है, तो उपभोग कोड को प्रत्येक फ़ाइल को व्यक्तिगत रूप से पढ़ा जाना चाहिए, और किसी भी लूप और इसी तरह के निर्माण से बाहर निकलना चाहिए। यह बरबाद कोड के लिए एक आदर्श नुस्खा है। यदि, हालाँकि, आप एक अपवाद को फेंककर त्रुटि का संकेत देते हैं, तो उपभोग कोड तुरंत अपवाद को संभालने का विकल्प चुन सकता है, या फ़ंक्शन कॉल के दौरान भी इसे उपयुक्त स्तर तक बुलबुला कर सकता है। यह बहुत क्लीनर कोड के लिए बनाता है।
वैचारिक रूप से, यदि आप एक फ़ाइल खोलते हैं और कुछ गलत हो जाता है, तो एक मान (यहां तक कि NULL) वापस करना गलत है। आपके पास वापस लौटने के लिए कुछ भी नहीं है, क्योंकि आपका ऑपरेशन पूरा नहीं हुआ है। रिटर्निंग NULL, "मैंने फ़ाइल को सफलतापूर्वक पढ़ा है, और यहाँ इसमें क्या है - कुछ भी नहीं" के वैचारिक समतुल्य है। यदि ऐसा है जिसे आप व्यक्त करना चाहते हैं (अर्थात, यदि NULL ऑपरेशन में प्रश्न के लिए वास्तविक परिणाम के रूप में समझ में आता है), तो हर तरह से NULL लौटाते हैं, लेकिन यदि आप त्रुटि का संकेत देना चाहते हैं, तो अपवादों का उपयोग करें।
ऐतिहासिक रूप से, त्रुटियों की रिपोर्ट इस तरह से की गई थी क्योंकि C जैसी प्रोग्रामिंग भाषाओं में भाषा में निर्मित अपवाद हैंडलिंग नहीं है, और अनुशंसित तरीका (लंबी छलांग का उपयोग करके) थोड़ा बालों वाला और काउंटर-सहज ज्ञान युक्त है।
समस्या का एक रखरखाव पक्ष भी है: अपवादों के साथ, आपको विफलता को संभालने के लिए अतिरिक्त कोड लिखना होगा; यदि आप नहीं करते हैं, तो कार्यक्रम जल्दी और कठिन (जो अच्छा है) विफल हो जाएगा। यदि आप NULL को सिग्नल त्रुटियों पर लौटाते हैं, तो प्रोग्राम के लिए डिफ़ॉल्ट व्यवहार त्रुटि को अनदेखा करना है और बस ले जाने के लिए है, जब तक कि यह सड़क के नीचे अन्य समस्याओं की ओर नहीं जाता है - भ्रष्ट डेटा, segfaults, NullReferenceException, भाषा पर निर्भर करता है। त्रुटि को जल्दी और जोर से संकेत देने के लिए, आपको अतिरिक्त कोड लिखना होगा, और अनुमान लगाना होगा कि: यह वह हिस्सा है जो तंग डेडलाइन पर होने पर बाहर निकल जाता है।