त्रुटियों के कई स्रोत हैं। कुछ उदाहरण निष्पादित SQL स्टेटमेंट में सिंटैक्स त्रुटि, कनेक्शन विफलता, या पहले से रद्द या समाप्त स्टेटमेंट हैंडल के लिए फ़ेच विधि को कॉल करना है।
डीबी एपीआई कई त्रुटियों को परिभाषित करता है जो प्रत्येक डेटाबेस मॉड्यूल में मौजूद होनी चाहिए। निम्न तालिका इन अपवादों को सूचीबद्ध करती है।
<टेबल> <थहेड>गैर-घातक मुद्दों के लिए उपयोग किया जाता है। मानक त्रुटि को उपवर्ग करना चाहिए।
त्रुटियों के लिए आधार वर्ग। मानक त्रुटि को उपवर्ग करना चाहिए।
डेटाबेस मॉड्यूल में त्रुटियों के लिए उपयोग किया जाता है, डेटाबेस ही नहीं। उपवर्ग त्रुटि होनी चाहिए।
डेटाबेस में त्रुटियों के लिए उपयोग किया जाता है। उपवर्ग त्रुटि होनी चाहिए।
डेटाबेस एरर का उपवर्ग जो डेटा में त्रुटियों को संदर्भित करता है।
डेटाबेस एरर का उपवर्ग जो त्रुटियों को संदर्भित करता है जैसे कि डेटाबेस से कनेक्शन का नुकसान। ये त्रुटियां आमतौर पर पायथन स्क्रिप्टर के नियंत्रण से बाहर होती हैं।
डेटाबेस एरर का उपवर्ग उन स्थितियों के लिए जो संबंधपरक अखंडता को नुकसान पहुंचाती हैं, जैसे कि विशिष्टता की कमी या विदेशी कुंजी।
डेटाबेस एरर का उपवर्ग जो डेटाबेस मॉड्यूल में आंतरिक त्रुटियों को संदर्भित करता है, जैसे कि एक कर्सर अब सक्रिय नहीं है।
डेटाबेस एरर का उपवर्ग जो त्रुटियों को संदर्भित करता है जैसे कि खराब तालिका नाम और अन्य चीजें जिन्हें सुरक्षित रूप से आप पर दोष दिया जा सकता है।
डेटाबेस एरर का उपवर्ग जो असमर्थित कार्यक्षमता को कॉल करने का प्रयास करने को संदर्भित करता है।
आपकी पायथन लिपियों को इन त्रुटियों को संभालना चाहिए, लेकिन उपरोक्त किसी भी अपवाद का उपयोग करने से पहले, सुनिश्चित करें कि आपके MySQLdb के पास उस अपवाद के लिए समर्थन है। आप डीबी एपीआई 2.0 विनिर्देश पढ़कर उनके बारे में अधिक जानकारी प्राप्त कर सकते हैं।