2011-12-03 11 views
5

मैं अपने डेटाबेस के साथ संचार के लिए SqlConnection, SqlDataReader, SqlCommand और SqlParameters का उपयोग कर रहा हूं। मैं एक नया Exception() फेंकने के बजाय सबसे प्रासंगिक Exceptions को पकड़ने के बारे में सलाह ढूंढ रहा हूं, यह एक बहुत व्यापक वर्ग है।SqlConnection, SqlDataReader, SqlCommand से निपटने के दौरान पकड़ने के लिए क्या अपवाद हैं?

सभी मदद की सराहना की जाती है!

उत्तर

8

सबसे प्रासंगिक संभवतः होने वाली सबसे सामान्य पर्यावरणीय स्थितियों के बराबर हो सकता है। कोडिंग त्रुटियों को ठीक किया जाएगा लेकिन आप पर्यावरणीय मुद्दों पर नियंत्रण नहीं कर सकते हैं।

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

भाग गया:

  1. अपने नेटवर्क केबल अनप्लग
  2. अक्षम अपने नेटवर्क एडाप्टर
  3. बंद करो एसक्यूएल सर्वर
  4. एक sproc कि एक बहुत लंबे समय
  5. लेता बनाएं डेटाबेस/tempdb पूर्ण समझ लो
  6. सुनिश्चित करें कि आप एसक्यूएल सर्वर
  7. एक sproc कि गतिरोध

इन मामलों (नेटवर्क, समय समाप्ति, गतिरोध शिकार) में से कुछ में बनाने के लिए अनुमति नहीं है, आप के साथ शायद फिर से प्रयास करना चाहता हूँ बढ़ती प्रतीक्षा डीबी जैसे अन्य लोगों के लिए सर्वश्रेष्ठ मार्गदर्शन प्रदान करना या व्यवस्थापक के लिए लॉग विवरण देना भी सर्वोत्तम है।

शर्तों की कोशिश करके आपको आश्वासन दिया जाता है कि अपवाद कैसे फेंक दिया गया है और आप यह सत्यापित कर सकते हैं कि आप उचित स्थिति को संभालने में सक्षम हैं।

+0

"एक आदमी को मछली को पढ़ाना" का उत्कृष्ट उदाहरण। –

+0

@bryanmac - आपके उत्तर के लिए धन्यवाद। जब मैंने सवाल पूछा तो मैंने केवल दिमाग में त्रुटियों को कोड किया था और मैंने पर्यावरण की स्थिति के बारे में नहीं सोचा था, धन्यवाद! –

संबंधित मुद्दे