Try Except در Python
- صفحه قبلی PIP در Python
- صفحه بعدی ورودیهای دستور Python
try
این بلوک به شما اجازه میدهد تا بلوک کدی را برای یافتن اشتباهات تست کنید.
except
این بلوک به شما اجازه میدهد تا اشتباهات را مدیریت کنید.
finally
این بلوک به شما اجازه میدهد تا کد را اجرا کنید، خواه نتیجه بلوک try و except چه باشد.
مدیریت استثنا
وقتی که Python را فراخوانی میکنیم و اشتباه یا استثنا رخ میدهد، معمولاً متوقف میشود و پیام اشتباه ایجاد میشود.
میتوان try
عبارت برای مدیریت این استثناها استفاده میشود:
مثال
بلوک try یک استثنا ایجاد خواهد کرد، زیرا x تعریف نشده است:
try: چاپ شود (print(x')) except: چاپ شود (An exception occurred')
به دلیل اینکه بلوک try اشتباه ایجاد کرده است، بلوک except اجرا خواهد شد.
اگر هیچ بلوک tryای نباشد، برنامه خواهد شکست و اشتباه ایجاد خواهد کرد:
مثال
این عبارت اشتباه ایجاد خواهد کرد، زیرا x تعریف نشده است:
چاپ شود (print(x'))
کاستهای چندگانه
میتوانید هر تعداد block exception که بخواهید تعریف کنید، به عنوان مثال، اگر میخواهید برای اشتباهات خاصی بلوک کدی خاصی اجرا شود:
مثال
اگر بلوک try اشتباهی ایجاد کند NameError
، یک پیام چاپ خواهد شد، اگر اشتباه دیگری باشد، پیام دیگری چاپ خواهد شد:
try: چاپ شود (print(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: چاپ شود (print(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