حتی اگر یک عبارت یا جمله از نظر نحوی صحیح باشد، ممکن است وقتی تلاش برای اجرای آن انجام شود خطا ایجاد کند. خطاهای شناسایی شده در حین اجرا استثناها نامیده میشوند و بدون قید و شرط مهلك نیستند: شما به زودی یاد میگیرید که چگونه در برنامههای پایتون آنها را مدیریت کنید. بیشتر استثناها توسط برنامهها مدیریت نمیشوند، اما در پیامهای خطا به صورت زیر نشان داده میشوند:
>>> 10 * (1/0) Traceback (most recent call last): File "", line 1, in 10 * (1/0) ~^~ ZeroDivisionError: division by zero >>> 4 + spam*3 Traceback (most recent call last): File " ", line 1, in 4 + spam*3 ^^^^ NameError: name 'spam' is not defined >>> '2' + 2 Traceback (most recent call last): File " ", line 1, in '2' + 2 ~~~^~~ TypeError: can only concatenate str (not "int") to str
خط آخر پیام خطا نشان میدهد چه اتفاقی افتاده است. استثناها انواع مختلفی دارند، و نوع در پیام چاپ میشود: انواع در مثال عبارتند از ZeroDivisionError، NameError و TypeError. رشته چاپ شده به عنوان نوع استثنا، نام استثناء داخلی است که رخ داده. این برای همه استثناءهای داخلی صدق میکند، اما برای استثناءهای تعریفشده توسط کاربر لازم نیست صادق باشد (هرچند قرارداد مفیدی است). نامهای استاندارد استثناء شناسههای داخلی هستند (نه کلمات رزرو شده).
باقی خط جزئیات بر اساس نوع استثنا و اینکه چه چیزی باعث آن شده ارائه میدهد.
بخش قبلی پیام خطا زمینه رخ دادن استثنا را در صورت یک ردیابی پشته (stack traceback) نشان میدهد. به طور کلی شامل لیستی از خطوط منبع است؛ هرچند خطوط خوانده شده از ورودی استاندارد نمایش داده نمیشوند.
استثناها درlined-in لیست استثناءهای داخلی و معانی آنها را فهرست میکند.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://docs.python.org/3/tutorial