عبارات الاخطاء والاستثناءات المضمنة في بايثون
تحتوي لغة بايثون على عدد من الاستثناءات المضمنة، مثل الأخطاء المعروفة SyntaxError وNameError وTypeError. وهي مضمنة، مما يعني أنها موجودة في الكود المصدر في جميع الأوقات.
عند حدوث خطأ، يقدم بايثون مجموعة من الاستثناءات المضمنة. يمكن معرفة هذه الاستثناءات المضمنة باستخدام الدالة المضمنة local()، والتي تكون على النحو التالي:
print(dir(locals()['__builtins__']))
سكون الناتج:
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError',
'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError',
'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError',
'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError',
'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented',
'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError',
'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit',
'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError',
'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'ZeroDivisionError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__',
'__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright',
'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input',
'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit',
'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
في الجدول التالي الاستثناءات المضمنة الأكثر شيوعًا :
استثناء | سبب الخطأ |
AssertionError | عند فشل عبارة assert، يتم رفع خطأ. |
ArithmeticError | إنه يحدد متى يحدث خطأ في الحسابات الرقمية. |
AttributeError | عندما تفشل عملية تعيين السمة أو المرجع، يتم رفع هذا الاستثناء. |
EOFError | عندما تواجه طريقة input() حالة "نهاية الملف"، فإنها تطرح خطأ (EOF) |
FloatingPointError | عند فشل حساب الفاصلة العائمة، يتم إنشاء هذا الخطأ. |
GeneratorExit | عندما يتم استدعاء طريقة close() الخاصة بالمولد، يتم رفع هذا المتغير. |
ImportError | عندما لا يمكن العثور على الوحدة المستوردة، يتم طرح هذا الاستثناء. |
IndexError | عندما يكون مؤشر التسلسل خارج النطاق، يتم رفع هذه القيمة. |
KeyError | عندما لا يتم العثور على مفتاح في القاموس، يتم رفع هذا الخطأ. |
KeyboardInterrupt | عندما يضغط المستخدم على Ctrl+C، أو Ctrl+Z، أو Delete، يتم طرح هذا الاستثناء. |
MemoryError | عندما ينفد برنامج من الذاكرة، يتم إنشاء خطأ. |
NameError | عندما لا يتم اكتشاف متغير في النطاق المحلي أو العالمي، يتم رفع هذا الاستثناء. |
NotImplementedError | تم رفعه من خلال أساليب مجردة. |
OSError | عندما تؤدي عملية النظام إلى حدوث خطأ متعلق بالنظام، يتم رفع هذا العلم. |
OverflowError | عندما تكون نتيجة الحساب الرقمي كبيرة جدًا، يتم رفع خطأ. |
ReferenceError | هذا استثناء عندما لا يوجد كائن مرجعي ضعيف، يتم رفع خطأ. |
RuntimeError | عندما لا يتناسب الخطأ مع أي من الفئات الأخرى، يتم رفعه. |
StopIteration | يتم رفعها بواسطة الدالة ()next للإشارة إلى أن المُكرر ليس لديه المزيد من العناصر لإرجاعها. |
SyntaxError | عندما تحدث مشكلة في بناء الجملة، يثير المحلل هذا الاستثناء. |
IndentationError | يثير خطأ عندما تكون المسافة البادئة غير صحيحة. |
TabError | يثير خطأ عندما تتكون المسافة البادئة من علامات تبويب أو مسافات. |
SystemError | يتم تشغيله عند حدوث خطأ في النظام. |
SystemExit | أثارت الدالة ()sys.exit هذا الاستثناء. |
TypeError | عندما يتم تطبيق دالة أو عملية على كائن من النوع الخطأ، يتم إثارة هذا الاستثناء. |
UnboundLocalError | عند الإشارة إلى متغير محلي في دالة أو طريقة ولكن لا توجد قيمة مرتبطة بهذا المتغير، يتم رفع استثناء. |
UnicodeError | عندما تحدث مشكلة تتعلق بالترميز أو فك الترميز المتعلق بـ Unicode، يتم رفع هذا العلم. |
UnicodeEncodeError | عندما تحدث مشكلة متعلقة بـ Unicode أثناء الترميز، يتم رفع هذا العلم. |
UnicodeDecodeError | عندما يحدث خطأ متعلق بـ Unicode أثناء فك التشفير، يتم رفع هذا العلم. |
UnicodeTranslateError | إنه يحدد خطأً. عندما تكون هناك مشكلة في ترجمة Unicode، يتم رفع هذا العلم. |
ValueError | عندما تكون هناك قيمة غير صحيحة في نوع بيانات محدد، يتم إثارة هذا الاستثناء. |
ZeroDivisionError | عندما يكون العامل الثاني في القسمة يساوي صفرًا، يتم رفع خطأ. |
يمكنك معرفة المزيد عن الاستثناءت في بايثون من خلال الرابط التالي>>
الكلمات الدلالية
الاستثناءات في بايثون الاخطاء والاستثناءات المضمنة في بايثون
شارك المقال
عن الكاتب
أحمدُ عُبَيْد
مرحباً، أنا أحمد عبيد مبرمج عربي مصري. أود أن أضع تجاربي وخبراتي في تعلم بايثون على هذا الموقع حتى يكون مرجعاً لي ولكم أيضاً.
عفواً..قم بتسجيل الدخول اولاً..حتي تستطيع التعليق