मेरे पास कोड का एक टुकड़ा है जिसे निम्न रूप में दर्शाया जा सकता है:
public class ItemService {
public void DeleteItems(IEnumerable<Item> items)
{
// Save us from possible NullReferenceException below.
if(items == null)
return;
foreach(var item in items)
{
// For the purpose of this example, lets say I have to iterate over them.
// Go to database and delete them.
}
}
}
अब मैं सोच रहा हूं कि क्या यह सही तरीका है या मुझे अपवाद छोड़ देना चाहिए। मैं अपवाद से बच सकता हूं, क्योंकि वापसी एक खाली संग्रह पर पुनरावृत्ति करने के समान होगी, जिसका अर्थ है, किसी भी महत्वपूर्ण कोड को वैसे भी निष्पादित नहीं किया जाता है, लेकिन दूसरी तरफ मैं संभवतः कोड में समस्याओं को छिपा रहा हूं, क्योंकि कोई भी कॉल क्यों करना चाहता है पैरामीटर के DeleteItems
साथ null
? यह संकेत दे सकता है कि कोड में कहीं और समस्या है।
यह एक ऐसी समस्या है जो मेरे पास आमतौर पर सेवाओं में विधियों के साथ होती है, क्योंकि उनमें से अधिकांश कुछ करते हैं और एक परिणाम नहीं देते हैं, इसलिए यदि कोई अमान्य जानकारी देता है तो सेवा करने के लिए कुछ भी नहीं है, इसलिए यह वापस आ जाता है।