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