यदि आप अपने कोड में std :: logic_error अपवाद का उपयोग करते हैं, तो आप किस मामले में इसका उपयोग करते हैं? domain_error
, invalid_argument
, length_error
, out_of_range
:सी ++: std :: logic_error अपवाद के लिए उचित उपयोग क्या है?
10
A
उत्तर
5
logic_error
ये अपवाद आधार है।
ये सभी तार्किक त्रुटियां हैं: इनपुट के साथ कुछ गलत गलत है कि आउटपुट अजीब होगा। तो मैं कहूंगा कि आपको आमतौर पर इसे सीधे उपयोग करने की आवश्यकता नहीं है, क्योंकि उन चार कवरों में कोई तर्क त्रुटियां शामिल हैं जिन्हें मैं सोच सकता हूं। लेकिन वे आपको इस बारे में एक विचार देते हैं कि श्रेणी क्या है।
2
जैसा कि जीएमएन पहले से ही इंगित करता है, यह मुख्य रूप से अन्य अपवाद वर्गों का आधार है। आप इसे सीधे किसी ऐसे व्यक्ति के लिए उपयोग करने पर विचार कर सकते हैं जो मूल रूप से एक दावा है। जैसे यदि कुछ कोड निष्पादित होने से पहले बनाए गए किसी विशेष ऑब्जेक्ट पर निर्भर करता है, तो यह निष्पादित होने पर logic_error
(व्युत्पन्न के बजाए) फेंकना उचित हो सकता है और यह ऑब्जेक्ट अभी तक नहीं बनाया गया है।
संबंधित मुद्दे
- 1. std :: के बारे में उलझन में runtime_error बनाम std :: logic_error
- 2. सी ++ अपवाद: std :: अपवाद का उपयोग या विस्तार क्यों करें?
- 3. क्या यह एक अस्थायी std :: स्ट्रिंग का उचित उपयोग है?
- 4. रनटाइम अपवाद का उचित उपयोग?
- 5. नई std :: अपवाद बनाम फेंक std :: अपवाद
- 6. अंतर: std :: runtime_error बनाम std :: अपवाद()
- 7. std :: अपवाद
- 8. सी में फंक्शन 'नींद' के लिए उचित # शामिल क्या है?
- 9. एएसपी.नेट के मल्टीव्यू नियंत्रण के लिए उचित उपयोग क्या है?
- 10. वैश्विक चर करने के लिए उचित "सी ++ तरीका" क्या है?
- 11. क्या कन्स्ट्रक्टर अपवाद फेंकने के लिए परीक्षण करने के लिए और अधिक उचित है?
- 12. क्या यह रूबी में && = के लिए उचित उपयोग है?
- 13. सी ++ अपवाद, क्या() पूर्ण हो सकता है?
- 14. प्रचार सी ++ अपवाद cython के लिए - अजगर अपवाद
- 15. std :: vector :: front() के लिए क्या उपयोग किया जाता है?
- 16. सी ++ अपवाद फेंकते समय क्या फेंकना है?
- 17. "उचित नोड के ठीक नीचे सभी नोड्स" के लिए उचित XPath क्या है?
- 18. त्रुटि कोड का उपयोग करना उचित है?
- 19. क्या यह म्यूटेक्स का उचित उपयोग है?
- 20. क्या यह पॉलिमॉर्फिज्म का उचित उपयोग है? (?)
- 21. EnsureChildControls() का उचित उपयोग क्या है?
- 22. संदर्भ द्वारा std :: अपवाद पकड़ रहा है?
- 23. सी ++ में, नेमस्पेस के लिए क्या उपयोग किया जाता है?
- 24. जावा अपवाद की अपेक्षा करने के लिए उचित जीवनकाल क्या है?
- 25. क्या इंस्टीटेंस का उपयोग करके एक विशिष्ट प्रकार के अपवाद की जांच करने के लिए पायथन में उचित है?
- 26. कितना अपवाद सुरक्षित है std :: टाई?
- 27. shared_ptr का उचित उपयोग?
- 28. क्या सी # में std :: nth_element समकक्ष है?
- 29. क्या सी ++ std :: सेट थ्रेड-सुरक्षित है?
- 30. सी के लिए अपवाद पुस्तकालय (सी ++ नहीं)
जब हम अपने कोड में बग पकड़ते हैं तो logic_error अपवाद फेंकना उचित होगा? जैसे जोर देने के बजाए इसका इस्तेमाल करें()। – sivabudh
शायद नहीं। 'assert' के लिए * प्रोग्रामर त्रुटियों * के लिए हैं। उपयोगकर्ता इनपुट के बावजूद, कुछ जांचना शून्य, आदि है, जो * नहीं होना चाहिए *। असल में, उन चीजों के लिए अपवाद हैं जो थोड़ी देर में होने की उम्मीद है, और पकड़े और संसाधित हो जाते हैं। – GManNickG
@GMan: रन-टाइम के दौरान होने वाली बग को पकड़ने के लिए हमारे अच्छे ओल 'हमले के बजाय मैं कौन सा अपवाद उपयोग कर सकता हूं? मुझे लगता है कि जोर बहुत अच्छा है, लेकिन मैं उन्हें सुंदर निकास के लिए संभालने के लिए अपवाद का उपयोग करना चाहता हूं। – sivabudh