Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ट्राई {} कैच {} बनाम अगर {} और {} का उपयोग करने का क्या फायदा है

मैं कोशिश/पकड़ ब्लॉक का उपयोग करता हूं जब कोड के माध्यम से सामान्य पथ त्रुटि के बिना आगे बढ़ना चाहिए जब तक कि वास्तव में कुछ असाधारण स्थितियां न हों - जैसे सर्वर डाउन हो रहा है, आपके प्रमाण-पत्र समाप्त हो गए हैं या गलत हैं। मैं अनिवार्य रूप से इसका उपयोग गैर-असाधारण त्रुटियों को संभालने के लिए नहीं करूंगा - मान लीजिए कि वर्तमान उपयोगकर्ता सही भूमिका में नहीं है। यही है, जब आप किसी ऐसी त्रुटि की उचित रूप से अपेक्षा कर सकते हैं और उसे संभाल सकते हैं जो एक असाधारण स्थिति नहीं है, तो मुझे लगता है कि आपको अपनी जांच करनी चाहिए।

उस मामले में जिसका आपने वर्णन किया है -- क्वेरी सेट करना और निष्पादित करना, कोशिश/पकड़ ब्लॉक इसे संभालने का एक शानदार तरीका है क्योंकि आप सामान्य रूप से क्वेरी के सफल होने की अपेक्षा करते हैं। दूसरी ओर, आप शायद यह जांचना चाहेंगे कि परिणाम की सामग्री वही है जो आप नियंत्रण प्रवाह तर्क के साथ अपेक्षा करते हैं, न कि केवल उस डेटा का उपयोग करने का प्रयास करने के बजाय जो आपके उद्देश्य के लिए मान्य नहीं हो सकता है।

एक चीज जिस पर आप गौर करना चाहते हैं, वह है ट्राई/कैच का मैला इस्तेमाल। कोशिश/पकड़ का इस्तेमाल खराब प्रोग्रामिंग से खुद को बचाने के लिए नहीं किया जाना चाहिए - "मुझे नहीं पता कि अगर मैं ऐसा करता हूं तो क्या होगा, इसलिए मैं इसे एक कोशिश/पकड़ में लपेटने जा रहा हूं और सर्वश्रेष्ठ के लिए आशा करता हूं" प्रकार प्रोग्रामिंग की। आम तौर पर आप उन अपवादों के प्रकारों को प्रतिबंधित करना चाहेंगे जो कोड से संबंधित नहीं हैं (सर्वर डाउन, खराब क्रेडेंशियल इत्यादि) ताकि आप कोड से संबंधित त्रुटियों को ढूंढ सकें और ठीक कर सकें (शून्य पॉइंटर्स, आदि) ।)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO::fetchAll बनाम PDO::fetch in a लूप

  2. उच्च उपलब्धता के लिए MySQL के लिए Percona सर्वर कैसे परिनियोजित करें

  3. पिछले महीने से सभी पंक्तियों को प्राप्त करने की क्वेरी

  4. 2 तिथियों और औसत प्रति घंटा आउटपुट के बीच डेटा का चयन करें

  5. मैं MySQL प्रक्रियाओं या थ्रेड्स की अधिकतम संख्या कैसे सेट कर सकता हूं?