जब प्रोगैमैटिक प्रोग्रामर में अपवाद का उपयोग करने के लिए खंड में , पुस्तक लिखती है कि इसके बजाय:
retcode = OK;
if (socket.read(name) != OK) {
retcode = BAD_READ;
}
else {
processName(name);
if (socket.read(address) != OK) {
retcode = BAD_READ;
}
else {
processAddress(address);
if (socket.read(telNo) != OK) {
retcode = BAD_READ;
}
else {
// etc, etc...
}
}
}
return retcode;
, वे पसंद करते हैं:
retcode = OK;
try {
socket.read(name);
process(name);
socket.read(address);
processAddress(address);
socket.read(telNo);
// etc, etc...
}
catch (IOException e) {
retcode = BAD_READ;
Logger.log( "Error reading individual: " + e.getMessage());
}
return retcode;
सिर्फ़ इसलिए कि यह भद्दी लगती है। मैं सभी के लिए neater कोड हूँ , हालांकि अपवादों को पकड़ने में अनावश्यक प्रदर्शन नहीं है?
मैं समझ सकता हूं कि हमें नटर कोड (कम से कम 99% बार) के लिए माइनसक्यूल ऑप्टिमाइज़ेशन छोड़ देना चाहिए, हालांकि जो मुझे पता है, उससे अपवादों को पकड़ना कोड के वर्ग से संबंधित है, जिन्हें रनटाइम में ध्यान देने योग्य देरी है। इसलिए मैं सोच रहा था कि कोड के दूसरे टुकड़े को पहले कोड पर पसंद करने का औचित्य क्या है?
या बल्कि, आप कौन सा कोड पसंद करेंगे?