मेरे पास एक साधारण डिज़ाइन (?) प्रश्न है।सी: पैरामीटर जांच पर त्रुटि फेंक दें या इसे प्रशंसक को हिट करें?
मैं एक साधारण प्रोग्राम लिख रहा हूं, जिसमें कुछ ऐसे कार्य हैं जो इनके जैसा दिखते हैं।
float foo (float* m,size_t n){
float result;
//do some calculations, for example a sum
return result/n;
}
मेरे पास कुछ पवित्र युद्ध खोलने के इरादे से इस पर कुछ प्रश्न हैं।
क्या मुझे n
पर एक सैनिटी चेक जोड़ना चाहिए? यदि हां, तो मुझे कॉलर को कैसे जानना चाहिए?
रिटर्निंग -1
फ्लोट पर अजीब लग रहा है;
float foo(float *m,size_t n){
if (n == 0) return -1f
...
}
मेरे अन्य विकल्प एक बाहर पैरामीटर
float foo(float *m,size_t n, int *error){
if (n==0){
*error = 1;
return 0f;
}
...
}
अद्यतन
यह की तरह एक खिलौना कार्यक्रम है, बस कुछ सामान अभ्यास करने के लिए कोशिश कर रहा है। सवाल उस तथ्य से अधिक है। हो सकता है कि मुझे "ओओपी) अपवादों के बिना त्रुटियों को कैसे संभालना है" को फिर से लिखना चाहिए।
कॉल करने से पहले n
परीक्षण करने पर भी विचार करें, लेकिन इसे उतना पसंद नहीं है।
कोई विचार? अग्रिम धन्यवाद।
कार्यों के पर्यावरण के बारे में और अधिक सुनना उपयोगी हो सकता है। क्या वे स्थापित त्रुटि-जांच प्रथाओं के साथ कोड के एक समूह में मौजूद हैं, या जहां थर्ड-पार्टी कोड की कुछ अपेक्षाएं हैं? क्या यह एक स्टैंडअलोन खिलौना परियोजना है? – TSomKes
@TsomKes ने मेरा प्रश्न अपडेट किया। – Tom