عبارات الاخطاء والاستثناءات المضمنة في بايثون

27-10-24 أحمدُ عُبَيْد 2282 0

تحتوي لغة بايثون على عدد من الاستثناءات المضمنة، مثل الأخطاء المعروفة 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 عندما يكون العامل الثاني في القسمة يساوي صفرًا، يتم رفع خطأ.

يمكنك معرفة المزيد عن الاستثناءت في بايثون من خلال الرابط التالي>>


 



الكلمات الدلالية


الاستثناءات في بايثون الاخطاء والاستثناءات المضمنة في بايثون

شارك المقال