Try Except Python
- صفحه قبلی PIP Python
- صفحه بعدی ورودی دستور Python
try
بلاک به شما اجازه میدهد تا بلوک کدی را تست کنید تا خطاها را پیدا کنید.
except
بلاک به شما اجازه میدهد تا خطاها را مدیریت کنید.
finally
بلاک به شما اجازه میدهد تا کدی را اجرا کنید، بدون توجه به نتیجه بلاک try و except.
مدیریت استثنا
وقتی که Python را فراخوانی میکنیم و خطا یا استثنا رخ میدهد، معمولاً متوقف میشود و پیام خطا ایجاد میشود.
میتوانید try
عبارت برای مدیریت این خطاها استفاده میشود:
مثال
بلاک try خطا ایجاد میکند، زیرا x تعریف نشده است:
try: پرنٹ(x) except: پرنٹ("An exception occurred")
به دلیل اینکه بلاک try خطا ایجاد کرده است، بلاک except اجرا میشود.
اگر هیچ بلاک try وجود نداشته باشد، برنامه به طور خودکار از کار میافتد و خطا ایجاد میکند:
مثال
این عبارت خطا ایجاد میکند، زیرا x تعریف نشده است:
پرنٹ(x)
تعدادی از خطاهای متعدد
میتوانید بلاکهای exception به دلخواه تعریف کنید، به عنوان مثال، اگر میخواهید برای نوع خاصی از خطا کد خاصی اجرا شود:
مثال
اگر بلاک try خطا ایجاد کند NameError
، یک پیام چاپ میکند، اگر خطای دیگری باشد، پیام دیگری چاپ میکند:
try: پرنٹ(x) except NameError: پرنٹ("Variable x is not defined") except: پرنٹ("Something else went wrong")
Else
اگر هیچ خطایی ایجاد نشده باشد، میتوانید از else
کلمات کلیدی برای تعریف بلوک کدی که باید اجرا شود:
مثال
در این مثال،try
بلاک هیچ خطایی ایجاد نمیکند:
try: پرنٹ("Hello") except: پرنٹ("Something went wrong") else: پرنٹ("Nothing went wrong")
Finally
اگر مشخص شده باشد finally
بلاک، کسی بلاک try بپایان نرسد یا نرسد، بلاک finally همیشه اجرا میشود。
مثال
try: پرنٹ(x) except: پرنٹ("Something went wrong") finally: پرنٹ("The 'try except' is finished")
این برای بستن اشیاء و پاکسازی منابع بسیار مفید است:
مثال
سعی کنید فایل غیرقابل نوشتن را باز و بنویسید:
try: f = open("demofile.txt") f.write("Lorum Ipsum") except: print("Something went wrong when writing to the file") finally: f.close()
برنامه میتواند ادامه دهد و فایلهای شیء باز را باز نمیکند.
استثنا برانگیز
به عنوان توسعهدهنده Python، میتوانید انتخاب کنید که در صورت رخ دادن شرایط استثنا پرتاب کنید.
برای پرتاب (برانگیختن) استثنا از raise
کلمات کلیدی.
مثال
اگر x کمتر از صفر باشد، استثنا برانگیز و برنامه متوقف میشود:
x = -1 if x < 0: raise Exception("Sorry, no numbers below zero")
raise
کلمات کلیدی برای برانگیختن استثنا استفاده میشوند.
شما میتوانید نوع استثنایی که ایجاد میکنید و متنی که به کاربر نمایش میدهید را تعریف کنید.
مثال
اگر x عدد صحیح نیست، TypeError: را برانگیز
x = "hello" if not type(x) is int: raise TypeError("Only integers are allowed")
- صفحه قبلی PIP Python
- صفحه بعدی ورودی دستور Python